問題描述:在使用 Vue 框架 和 element-ui 庫進行開發,對於頁面中回顯下拉框中數據時,我們對下拉框進行切換時,出現下拉框無法選中,同時頁面中選中的值也未改變。
添加 change 事件獲取選中的值,使用 Vue 2.x 版本的 vm.$set 進行強制更新視圖,頁面中選中的值未改變。
changeGoodsInfo (value) {
this.$set(this.baseForm, 'goodsInfo', value)
}
解決方案:change 事件,使用 this.$forceUpdate() API 強制刷新,頁面正常顯示。
<el-select
v-model="form.source"
placeholder="請選擇"
@change="$forceUpdate()"
>
<el-option
v-for="item in tradeSource"
:key="item.id"
:label="item.label"
:value="item.id"
/>
</el-select>
Vue 官方提供了 vm.$forceUpdate() 方法:
迫使 Vue 實例重新渲染。注意它僅僅影響實例本身和插入插槽內容的子組件,而不是所有子組件。