码迷,mamicode.com
首页 > 编程语言 > 详细

vue对组件以数组方式赋值的问题

时间:2019-10-25 16:33:27      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:inf   item   取消   下拉框   数组array   初始   结构   对组   assign   

当从后台直接调接口返回数据

直接将数组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 ) }) }) }

 

vue对组件以数组方式赋值的问题

标签:inf   item   取消   下拉框   数组array   初始   结构   对组   assign   

原文地址:https://www.cnblogs.com/suruozhong/p/11738499.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!