收藏
回答

添加多行input和单个picker中如何区别并获值?

我在做一个按钮触发事件是添加多行input,textarea和单个picker,但是添加后的picker和原来的picker的选择都是一样的,怎么区分开来?

<view wx:for="{{lists}}"//中间是一堆input、textarea、一个picker
</view>
<button bindtap='addList'>添加</button>
添加选项//wxml文件

data: {
    lists:[{}],
  },
  addList: function(){
    var  lists = this.data.lists;
    var newData = {};
    lists.push(newData);//实质是添加lists数组内容,使for循环多一次
    this.setData({
      lists: lists,
    })  
  }, //js文件
最后一次编辑于  2021-07-05
回答关注问题邀请回答
收藏

1 个回答

  • Xavier
    Xavier
    2021-07-05

    通过index区别,遍历的时候name可以拼接index上,或者用data-绑定一个属性上去

    // index.wxs
    var concat = function (str1, str2{
      return str1 + str2;
    }
    module.exports = {
      concat: concat
    }
    


    <!-- index.wxml -->
    <wxs src='index.wxs'
      module='util' />
    <block wx:for="{{list}}" wx:for-item="item" wx:for-index="index">
      <!-- data 绑定index -->
      <input data-index="{{index}}"/>
      <!-- name 拼接唯一的name -->
      <input name="{{util.concat(item.name, index)}}"/>
    </block>
    
    2021-07-05
    有用 1
    回复
登录 后发表内容