vantUI 獲得piker選中值的自定義ID操作
阿新 • • 發佈:2020-11-04
問題
官網中給的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"} ],}; },index) { //此時返回的value就是個物件了 var keyId = value.keyId; var text= value.text; console.log('當前值'+keyId + '當前索引'+text); } } };
補充知識:vantUI時間選擇器將選中值改為 yyyy-mm-dd 00:00:00 格式
vantUI時間選擇器預設選中值為:
更改之後
程式碼如下
<van-popup v-model="startTimeshow" position="bottom" :overlay="true"> <van-datetime-picker @cancel="Cancel" @confirm="Confirm" @change="Change" v-model="currentDate" type="date" /> </van-popup>
data() { return { currentDate: new Date() }; }, methods:{ Change(){ console.log(this.currentDate); var date = this.currentDate; var seperator1 = "-"; var seperator2 = ":"; var month = date.getMonth() + 1; var strDate = date.getDate(); if (month >= 1 && month <= 9) { month = "0" + month; } if (strDate >= 0 && strDate <= 9) { strDate = "0" + strDate; } this.currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate + " " + "00" + seperator2 + "00" + seperator2 + "00"; } }
以上這篇vantUI 獲得piker選中值的自定義ID操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。