这里是12个input,每个input的key值和value对应了
这个数组中的对象
如何实现类似vue的双向数据绑定,不然36个input绑定分别用函数,实在太过....
数量多的input的如何快速与data建立关联?How to quickly associate a large number of inputs with data?
数量多的input的如何快速与data建立关联?这里是12个input,每个input的key值和value对应了
这个数组中的对象
如何实现类似vue的双向数据绑定,不然36个input绑定分别用函数,实在太过....
Here are 12 inputs. The key value and value of each input correspond to the objects in this array. How to implement bidirectional data binding similar to Vue? Otherwise, the 36 inputs are bound with functions respectively, which is too much
回答:
这还不简单, 你用 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">
循环数组输出,根据数组下标,替换数组里的对象。用splice(index,1,新对象)。
已实现,方法可行