vantUIは、piker選択値のカスタムID操作を獲得する。


問題
公式サイトでのpickerの例では、各項目は文字列しかないですが、indexではなく各文字列に対応するカスタムIDを返す必要があります。
vantUI公式サイト:picker
公式サイトの例

<van-picker :columns="columns" @change="onChange" />

export default {
 data() {
  return {
   columns: ['  ', '  ', '  ', '  ', '  ']
  };
 },
 methods: {
  onChange(picker, value, index) {
   console.log('   '+value+ '    '+index);
  }
 }
};
解決
今の私の需要は選択された値のidを獲得することです。これを注文するのではなく、対象配列を使って、公式サイトの使用禁止例の配列の中を見ることができます。
これを照らしてください。

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);
  }
 }
};

追加知識:vantUI時間選択器は選択値をyyyy-mm-dd 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操作は小編集が皆さんに提供した内容の全部です。参考にしていただければと思います。よろしくお願いします。