在项目开发过程中,遇到需要监测二维数组的更新,但是怎么让vue监测到数组变化并更新视图,之前是通过直接修改数组的值,但是视图并没有更新,通过查看vue数据,发现vue中数组的值并没有实时更新,vue没有检测到数组的变化,因此视图就不会更新。虽然知道需要使用vm.$set方法,但是各种尝试也不对,后来处理方式:

二维数组arr: [[false,false,false],[false,false,false,false],[false]]

methods: {
  // n表示二维数组索引,i是一维数组的索引
  toggleChildren (n, i) {
      // 获取当需要更改的值
      let value = this.arr[n][i]
      // 更新数据
      this.$set(this.arr[n], i, !value)
    }
}

想想就是转化了思路,每次改变更新时,先获取到需要更新的二维数组中的一维数组,再对一维数组进行更新。这种操作,达到了我想要的效果。

Logo

前往低代码交流专区

更多推荐