有时候从后台获取的数据层次及比较多,导致修改vue的数据后没有对dom进行重新渲染

解决办法

vm.$forceUpdate()
示例:

迫使 Vue 实例重新渲染。注意它仅仅影响实例本身和插入插槽内容的子组件,而不是所有子组件。

methods: {
  selectInsurance(){ //刷新可选状态
    for(var i=0; i<this.dataArr.length; i++){ 
      var flag = false; //默认没有选中
      var itemI = this.dataArr[i];

      for(var j=0; j<this.form.carInsuranceVOList.length; j++){ //检测选项是否已被选中过
        var itemJ = this.form.carInsuranceVOList[j];
        if(itemI.code == itemJ.insuranceName){
          flag = true;
          break;
        }
      }

      if(flag){
        itemI.disabled = true;
      }else{
        itemI.disabled = false;
      }
    }

    this.$forceUpdate(); //强制刷新,解决页面不会重新渲染的问题
  }
}

猜你喜欢

转载自blog.csdn.net/beichen3997/article/details/84315238