this.form = Object.assign({}, this.form, { name: ‘a’ })
而 这样不能:
Object.assign(this.form, { name: ‘a’ })
this.form = Object.assign({ name: ‘a’ })
Object.assign赋值后无法修改问题、深拷贝.... 这样能解决赋值后无法编辑的问题,this.form = Object.assign({}, this.form, { name: ‘a’ })而 这样不能:Object.assign(this.form, { name: ‘a’ })this.form = Object.assign({ name: ‘a’ })...
场景:页面表格数据是从后台获取的,编辑时,将数据传给dialog,发现
Form
表单
无法
编辑了,select多选框
无法
选择,删除,datepicker等组件也会出现这种不能编辑的情况
原因:通过
Object
.
assign
直接将后台返回的数据
赋值
给
form
,后台返回的数据结构与data中初始化的
form
,数据结构发生了改变
页面有新增,编辑,删除按钮。
可以编辑表格中的某行数据,点击编辑打开d...
今天遇到这么一个
问题
,点击
修改
按钮,请求接口后,我把数据直接
赋值
给一个对象,这个对象里面涉及到一个数组,需要另外
赋值
,我按部就班的操作之后,在给数组添加元素时,出现
问题
了,竟然无效,数组打印也能填充进去,页面就是没刷新,手足无措
最后 巧妙地运用
Object
.
assign
对象合并,解决的这个
问题
原因是因为 自己声明的对象里面有数组,但回显
赋值
的时候没有,导致的 这个具体原理还不太清楚,有知道的大牛还希望不吝赐教
很多时候我们vue中,for循环的数据很复杂,当我们要进行操作改变数组中的某个值时,视图中的展示却没有发生相应的变化,怎么办呢?
找了很多方法,官网也有介绍,但是都不是我的理想中的处理方法
最后还是解决了 来看代码
如果是数组
this.
form
=
Object
.
assign
([], this.
form
)
如果是对象
this.
form
=
Object
.
assign
({}, t...