在項目中,我們大多數時候傳的值並不是需要這個下標,而是其他的值。像我項目中,需要獲取到的是它對應的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- 類型自定義屬性后更的屬性名字可以自定義 當你需要設置其他值得時候可以使用 可選