问题
官网中给的picker例子,每项只能是个字符串,但我需要它返回每个字符串对应的自定义ID,而不是index。
vantUI官网:picker
官网例子
<van-picker :columns="columns" @change="onChange" />
export default {
data() {
return {
columns: ['杭州', '宁波', '温州', '嘉兴', '湖州']
};
},
methods: {
onChange(picker, value, index) {
console.log('当前值'+value+ '当前索引'+index);
}
}
};
解决
现在我的需求是获得选中的值的id,而不是要这个index,所以只能用对象数组,看到官网上的禁用例子的数组中:{ text: '杭州', disabled: true },
说明确实每行的数据是个对象的,而显示的部分就是text的值
。那就照着这个来呗!
export default {
data() {
return {
//改一下
columns: [
{"keyId":2,"text":"测试1"},
{"keyId":10,"text":"测试2"},
{"keyId":31,"text":"测试3"}
],
};
},
methods: {
onChange(picker, value, index) {
//此时返回的value就是个对象了
var keyId = value.keyId;
var text= value.text;
console.log('当前值'+keyId + '当前索引'+text);
}
}
};