wxml页面上变量如何拼接?
发布于 5 年前 作者 lifu 817 次浏览 来自 官方Issues

首先声明我本人是小程序新手.

今天项目上遇到一个问题 页面上的下拉菜单是循环出来的 所以导致选择的时候下拉菜单一起改变了内容。现在想法是把页面上的变量做成活的,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文件 修改下拉菜单的内容
bindPickerChangefunction(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'
    })
  },
1 回复
// 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>
回到顶部