vue this.$forceUpdate() 處理頁面刷新問題(v-for循環值刷新等)

原文鏈接:https://blog.csdn.net/xuaner8786/article/details/81217075

**

問題描述:

**
在使用Vue框架開發時,在函數中改變了頁面中的某個值,在函數中查看是修改成功了,但在頁面中沒有及時刷新改變後的值;

解決:

運用 this.$forceUpdate() 強制刷新(因爲數據層次太多,render函數沒有自動更新,需手動強制刷新。)

代碼案例

<Select v-model="carSafeLine.insuranceName" placeholder="請選擇" class="mulisel option-h" filterable clearable :disabled="editstatus" @on-change="selectInsurance">
  <Option v-for="item in dataArr" :key="item.code" :value="item.code" :label="item.codename" :disabled="item.disabled"></Option>
</Select>

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(); //強制刷新,解決頁面不會重新渲染的問題
  }
}

後續我會把我的代碼貼出來,目前看是轉載的:https://blog.csdn.net/xuaner8786/article/details/81217075

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章