picker中的value,默认的是选择的下标值(从0 开始),在开发过程中遇到要获取picker选中的值(比如选中的值为id),写下来记录一下
先上效果图
wxml
<picker style="width: 100%;" class="platePicker radius" bindchange="projectChange" value="{{projectId}}" range="{{projectArr}}" range-key="label">
<!-- 选中的有projectId的时候,显示对应的名字 -->
<view class="picker proData" wx:if="{{projectId}}" >
{{label}}
</view>
<!-- 没有选中projectId的时候,显示'请选择预约项目' -->
<view class="proNoData" style="color: gray;" wx:else>请选择预约项目
</view>
</picker>
js
data:{
projectArr: [
{projectId: 10, label: '精洗'},
{projectId: 20,label: '保养' }
],
},
// 选择预约项目
projectChange: function (e) {
console.log('picker发送选择改变,携带下标为', e.detail.value)
console.log('picker携带值projectId为',this.data.projectArr[e.detail.value].projectId,'名称为:',this.data.projectArr[e.detail.value].label)
this.setData({
projectId: this.data.projectArr[e.detail.value].projectId,
label:this.data.projectArr[e.detail.value].label
})
},
20就是数组选中的projectId的值