当从后台直接调接口返回数据
直接将数组array赋值给定义的变量,会导致组件无法更改其它值,例如多选框,多选下拉框,会导致无法选中其它的值,也无法取消当前已赋值的选中项
data() { return { infoForm:{ array: [] } } }, //调接口赋值 getApi(){ get().then(res=>{//返回的数据,info里面包含array字段 this.infoForm = res.info }) }
以上代码将会出现问题,页面加载的时候我们已经对infoform里面的array初始化一次了,数组结构已定义,后面直接将数组改变,导致组件无法读取
改变方式
data() { return { infoForm:{ array: [] } } }, //调接口赋值 getApi(){ get().then(res=>{//定义变量 let info = res.info//初始化数组 info.array = []//将info拷贝到infoForm this.infoForm = Object.assign({},this.info)//将array的值加入infoForm的array info.array.forEach(item =>{ _this.infoForm.array.push( item ) }) }) }
原文地址:https://www.cnblogs.com/suruozhong/p/11738499.html
时间: 2024-10-20 04:31:58