数量多的input的如何快速与data建立关联?

发布于 5 年前作者 fang6813644 次浏览最后编辑 5 年前来自 ask

这里是12个input,每个input的key值和value对应了

这个数组中的对象

如何实现类似vue的双向数据绑定,不然36个input绑定分别用函数,实在太过…

3 回复
jing24
jing241 楼5 年前

已实现,方法可行

xia47
xia472 楼5 年前

这还不简单, 你用 data-index 跟 data-name 来区分, 然后用一个公用的输入函数, 在函数内setdata 不就好了

例如

js

changeData(e) {
  // 修改值 的信息
  let index = e.currentTarget.detail.index
  let name = e.currentTarget.detail.changename

  // 输入值
  let value = e.detail.value

  let upStr = `${name}[${index}].xxx`

  this.setData({
    [upstr]: value
  })
 }

wxml

<input data-index="1" data-changeName="test" bindchange="changeData">
fzhang
fzhang3 楼3 年前

循环数组输出,根据数组下标,替换数组里的对象。用splice(index,1,新对象)。