javascript - 小程序 picker 對于 objArray 怎么取值
問題描述
小程序 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:使用這個屬性應該是可以的,修改后的代碼如下:
<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
相關文章:
1. android - NavigationView 的側滑菜單中如何保存新增項(通過程序添加)2. 提示語法錯誤語法錯誤: unexpected ’abstract’ (T_ABSTRACT)3. javascript - vue 元素加樣式該怎么做4. tp5 不同控制器中的變量調用問題5. 這段代碼既不提示錯誤也看不到結果,請老師明示錯在哪里,謝謝!6. 老師 我是一個沒有學過php語言的準畢業生 我希望您能幫我一下7. javascript - 請問一下vue當中是在什么時候請求數據保存全局變量的?8. python文檔怎么查看?9. php7.3.4中怎么開啟pdo驅動10. 除了 python2 和 python3,ipython notebook 還可以用哪些內核?
