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