小程序中监听textarea或者input输入的值动态改变data中数组的对象的值

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

posted @ 2018-07-10 14:24  蓓蕾心晴  阅读(4254)  评论(1编辑  收藏  举报