小程序原生开发中,获取picker选择器的值而不是下标,在picker普通选择器上踩了一些坑,分享给大家
首先看前端页面
<view class="Stuname_box">
<picker bindchange="Secbanji" value="{{index}}" range="{{Banji}}">
<view class="picker"> 当前选择:{{Banji[index]}} </view>
</picker>
</view>
其次看js中的代码:
data: {
Banji: ['篮球1班', '篮球2班', '乒乓球1班', '乒乓球2班'],
index:0
},
点击事件
Secbanji(e){
console.log(e);
let index = e.detail.value
this.setData({
index,
})
},
最后也是最重要的了,上传至云数据库
db.collection("StuInfo").add({
data:{
// 重点在这,因为index是在另一个函数中获取的,所以它也得用that.data调取一下
Banji:that.data.Banji[that.data.index]
}
}).then(res=>{
console.log(res,'添加成功');
}).catch(res => {
console.log(err,'添加失败');
})
},
当你在使用picker选择器的时候,出现index报错(或未定义),记得一定在数据上传数据库的时候将index用that.data调取一下