问题描述:在使用 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 实例重新渲染。注意它仅仅影响实例本身和插入插槽内容的子组件,而不是所有子组件。