Element-Ui 复选框动态改变绑定值,复选框未勾选问题
最近在写项目时遇到复选框数据更改但是界面未被选中的问题,通过打印结果可以看到v-model数据已经更改但是界面并未更改状态,通过查询得知,虽然数据变了,但并没有触发model的set方法,所以当首次将selfModel设置为true后,后面get方法得到的值一直是true。产生这个问题的原因是,Vue 为了尽可能高效地渲染元素,通常会复用已有元素而不是从头开始渲染。这里推荐一个内置方法 this.
·
最近在写项目时遇到复选框数据更改但是界面未被选中的问题,通过打印结果可以看到v-model数据已经更改但是界面并未更改状态,通过查询得知,虽然数据变了,但并没有触发model的set方法,所以当首次将selfModel设置为true后,后面get方法得到的值一直是true。产生这个问题的原因是,Vue 为了尽可能高效地渲染元素,通常会复用已有元素而不是从头开始渲染。
- 这里推荐一个内置方法 this.$forceUpdate()
使用的话就直接用就行
//html
<el-checkbox @change="initIpt" class="ml30"
v-model="buildObj.constructionFeature.concrete"
:disabled="enginnerObj.inTypeBool? true:!buildObj.constructionFeature.main_structure_engineering"
>混凝土</el-checkbox>
>
//输入框需要重新渲染的话也可以用
<el-input
@input="initIpt()"
v-model="buildObj.constructionFeature.design_cooling_load"
:placeholder="enginnerObj.inTypeBool?'':'单位(冷吨)'"
size="mini"
></el-input>
//js
initIpt(){
this.$forceUpdate()
},
更多推荐
已为社区贡献2条内容
所有评论(0)