首先声明我本人是小程序新手.
今天项目上遇到一个问题 页面上的下拉菜单是循环出来的 所以导致选择的时候下拉菜单一起改变了内容。现在想法是把页面上的变量做成活的,js中setdata里面已经实现了,就是页面不知道如何拼接。
想把 页面上的 itemName.options[index] 中的 index 变成 页面上可拼接的活变量
wxml页面
<view class="body">
<view wx:for="{{comprehensiveArr}}" wx:for-index="idx" wx:for-item="itemName">
<view class="section" wx:if="{{itemName.item_type == 10}}">
<picker bindchange="bindPickerChange" value="{{index}}" range="{{itemName.options}}" id='{{itemName.index_item_id}}' name='{{itemName.index_item_id}}'>
<view class="titel" style="font-size:{{font1+'rpx'}}; color:{{color1}};">{{itemName.item_name}}</view>
<image src="/images/icon_xiala.png"></image>
<view class="picker">
{{itemName.options[index]}}
</view>
</picker>
</view>
</view>
<view class="baocun">保存</view>
</view>
js文件 修改下拉菜单的内容
bindPickerChange: function(e) {
// console.log('picker发送选择改变,携带值为', e.detail.value)
var that = this;
var id = e.currentTarget.id;
var index = id+'index';
this.setData({
[index]: e.detail.value,
font1:20,
color1: '#999'
})
},
// utils.wxs var concat = function (str1, str2) { return str1 + str2; } module.exports = { concat: concat }; // index.wxml <wxs src='../utils.wxs' module='util' /> <block wx:for="{{arrayData}}" wx:for-item="item" wx:for-index="index" wx:key="index"> <view data-id="{{util.concat(item.id,index)}}">就很优秀</view> </block>
<view data-id="{{object[util.concat('str1','str2')]}}">同样优秀</view>
<view data-id="{{util.concat(index,'index')}}">同样优秀</view>
<view data-id="1index">同样优秀</view>
<view data-id="2index">同样优秀</view>