zoukankan      html  css  js  c++  java
  • vue对组件以数组方式赋值的问题

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

    直接将数组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 ) }) }) }
  • 相关阅读:
    C语言面试题——寻找错误
    C语言的声明解释的在线工具——cdecl
    C语言面试题——指针运算
    const 指针与指向const的指针
    C语言复杂声明解释
    poj1248
    poj1750
    poj1484
    poj1853
    poj1575
  • 原文地址:https://www.cnblogs.com/suruozhong/p/11738499.html
Copyright © 2011-2022 走看看