el-input和el-select赋值后无法输入和更改选择

开发场景

在开发中使用element-ui的input和select下拉组件进行模态框输入新增,点击修改按钮回显已经填写好的信息
如图![(https://img-blog.csdnimg.cn/3f32f092aa5948e28c4217308cf38df2.png
!(https://img-blog.csdnimg.cn/db6a0c7794454f8c81dfd9cbf1eb2fd3.pngel-input和el-select赋值后无法输入和更改选择_第1张图片

指标名称和条件规则调后端接口获取相关字段进行赋值

问题

把后端字段赋值给el-input和el-select后,输入框无法删除默认值和输入,el-select无法更改选择项
以为是数据浅复制导致的,试了一下JSON.parse(JSON.stringify()),给字段赋值时进行深复制,然而并没有用。网上找了许多文章,经过多次尝试最后发现了以下方法,成功解决。

解决方案

方案一

给输入框加input事件,select增加change事件进行监听,在用户输入或者下拉选择的时候强制更新页面



   
   
 

使用vue的$forceUpdate进行更新,最后成功解决,代码如下:

change() {
   this.$forceUpdate()
},

方案二

使用深复制,对后端返回的数据使用JSON.parse(JSON.stringify())复制一份,再用复制的数据给input框和select赋值即可。

你可能感兴趣的:(vue.js,javascript,前端)