vue.js遇到的问题-数组数据改变,页面不能实时显示

对于这种表单,有删除,上移,下移等操作

vue.js遇到的问题-数组数据改变,页面不能实时显示

在上移下移时会遇到一个问题,见官方文档

由于 JavaScript 的限制,Vue 不能检测以下变动的数组:

  1. 当你利用索引直接设置一个项时,例如:vm.items[indexOfItem] = newValue
  2. 当你修改数组的长度时,例如:vm.items.length = newLength

因此,我的移动操作代码是,以下移为例

// 向下移动  resultStepsList是列表数据
downStepsIndex:function(item,index){
    var smallItem = this.resultStepsList[index];
    var largeItem = this.resultStepsList[index+1];
    this.resultStepsList.$set(index,largeItem);
    this.resultStepsList.$set(index+1,smallItem);
},

利用索引直接设置一个项,Vue 不能检测以下变动的数组。导致页面不能实时显示我上移和下移后的结果

用“vm.$set 实例方法”就能解决这个问题