您的位置:首頁技術文章
文章詳情頁

javascript - 小程序 picker 對于 objArray 怎么取值

瀏覽:94日期:2023-05-28 13:40:44

問題描述

小程序 picker 組件,看 demo 里面是有 objArray 這個類型,但是又沒有用到,我現在就是y有一組 objArray 需要用到,但是怎么都不能正常顯示,麻煩大家幫忙看下:

小程序 demo 鏈接:picker

wxml:

<picker bindchange='bindPickerChange' value='{{index}}' range='{{objectArray}}'> <view class='picker'> 當前選擇:{{objectArray[index]}} </view></picker>

js:

Page({ data: { objectArray: [ {id: 0,name: ’美國’ }, {id: 1,name: ’中國’ }, {id: 2,name: ’巴西’ }, {id: 3,name: ’日本’ } ] }, bindPickerChange: function(e) { console.log(’picker發送選擇改變,攜帶值為’, e.detail.value) this.setData({ index: e.detail.value }) }})

這樣的話,顯示的下拉選項就是[object Object],選中之后在頁面顯示的也是這樣,我現在是想下拉列表顯示 name 里面的值,然后知道選中的 id,實在是不知道怎么實現了。。。

問題解答

回答1:

javascript - 小程序 picker 對于 objArray 怎么取值

使用這個屬性應該是可以的,修改后的代碼如下:

<picker bindchange='bindPickerChange' value='{{index}}' range-key='name' range='{{objectArray}}'> <view class='picker'> 當前選擇:{{objectArray[index].name}} </view></picker>

Update1:

Page({ data: { objectArray: [ {id: 0,name: ’美國’ }, {id: 1,name: ’中國’ }, {id: 2,name: ’巴西’ }, {id: 3,name: ’日本’ } ] }, bindPickerChange: function(e) { console.log(’picker發送選擇改變,攜帶值為’, e.detail.value) var index = e.detail.value; var currentId = this.data.objectArray[index].id; // 這個id就是選中項的id this.setData({ index: e.detail.value }) }})回答2:

添加 range-key=’obj.item’,例如

<picker bindchange='bindPickerChange' value='{{index}}' range-key='name' range='{{objectArray}}'> <view class='picker'> 當前選擇:{{objectArray[index].name}} </view></picker

標簽: JavaScript
相關文章:
国产综合久久一区二区三区