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. 點擊頁面就自動輸入到mysql.求解2. java - IDEA從SVN檢出項目 并在tomcat上運行 求詳細流程3. node.js - nodejs使用formidable上傳文件問題4. javascript - windos下第一次用Django無法正確創建工程目錄5. node.js - 帶有node_modules目錄的項目,用phpstorm打開速度極慢,怎么解決?6. java - 多叉樹求值,程序高手,算法高手看過來7. css - 請問B站頂部的模糊半透明導航條是怎么實現的呢?8. android - 安卓做前端,PHP做后臺服務器 有什么需要注意的?9. javascript - 微信小程序在wx:for循環里判斷數據再給類名,條件為動態時無效10. html5 - 有人做過防微信app界面的H5 demo嗎?
