Page({
data: {
todoLists:[
{
detail:"",
date:"",
location:"",
priority:"",
remark:"",
dateStatus:false,
locationStatus:false,
dateRepeat:false,
completeStatus: false,
currentInput:"",
},
{
detail: "",
date: "",
location: "",
priority: "",
remark: "",
dateStatus: false,
locationStatus: false,
dateRepeat: false,
completeStatus: false,
currentInput:"",
}
],
},
getInput:function(e){
let index = e.currentTarget.dataset.index;
let currentInput = `todoLists[${index}].currentInput`;
this.data.todoLists[index].currentInput = e.detail.value;
this.setData({
todoLists: this.data.todoLists
})
console.log(this.data.todoLists[index].currentInput) // 可以实时改变
}
})
<textarea class="weui-textarea {{ item.completeStatus && item.completeStatus === true ? 'text-transparent' : '' }}" placeholder="请输入文本" bindinput="getInput" maxlength="1000" data-index="{{index}}" value="{{item.currentInput}}" auto-height auto-focus="true" />
小程序中监听textarea或者input输入的值动态改变data中数组的对象的值,不能通过setData设置数组对应索引的对象的值来改变,改变之后,能检测到改变,但是值为空。先通过赋值改变其中数组中的对象的值,然后重新设置数组。
参考链接:https://blog.csdn.net/chou_out_man/article/details/75575100
https://cloud.tencent.com/developer/article/1186246
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。