微信小程序下拉框之二維數組或對象


在項目中,我們大多數時候傳的值並不是需要這個下標,而是其他的值。像我項目中,需要獲取到的是它對應的Id,那么我們如何通過它的這個下標值返回你想要的值呢?

通過picker返回的索引值,去獲取匹配你想獲取的值;

js文件

Page({
    data:{
     //戶型   這是一個本地的對象,然后綁定到頁面上
    pic_array: [
      { id: 13, name: ‘1室1廳1衛‘ },
      { id: 14, name: ‘1室2廳1衛‘ },
      { id: 15, name: ‘2室1廳1衛‘ },
      { id: 16, name: ‘3室1廳2衛‘ },
      { id: 17, name: ‘4室1廳2衛‘ },
      { id: 18, name: ‘5室1廳3衛‘ },
      { id: 19, name: ‘6室1廳3衛‘ },
      { id: 20, name: ‘7室以上‘ },
    ],
     hx_index: 0;
   }, 
     bindPickerChange_hx: function (e) {
     console.log(‘picker發送選擇改變,索引為‘, e.detail.value);
     this.setData({   //給變量賦值
    var id = this.data.pic_array[e.detail.value].id //根據索引去查對應的id
     hx_index: e.detail.value,  //每次選擇了下拉列表的內容同時修改下標然后修改顯示的內容,顯示的內容和選擇的內容一致
    })
     console.log(‘id為:‘, id);
    },
})

wxml

      <picker name="picker_hx" class="cybm_pic_1" data-id="{{pic_array[hx_index].id}}" range="{{pic_array}}" range-key="{{‘name‘}}"  bindchange="bindPickerChange_hx"  >
        <view class="picker" >
         戶型:  {{pic_array[hx_index].name}} //指定數組中指定下標的name鍵對應的值 
        </view>
      </picker>
屬性名range  類型Array/Object Array  存放你的本地數據數組或者對象數組,需要加載的數據
屬性名range-key  類型String  當 range 是一個 二維Object Array 時,通過 range-key 來指定 Object 中 key 的值作為選擇器顯示內容
屬性名value  類型Array  value 每一項的值表示選擇了 range 對應項中的第幾個(下標從 0 開始)
屬性名data-  類型自定義屬性后更的屬性名字可以自定義 當你需要設置其他值得時候可以使用  可選


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM