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 ) }) }) }
  • 相关阅读:
    jQuery 2.0.3 源码分析 回调对象
    JQuery+JQuery ui实现的弹出窗口+遮罩层+拖动+更改大小~!
    2019.8.25 小结
    2019.8.23 小结
    宜中食堂游记
    2019.8.21小结
    2019.8.22小结
    2019.8.19小结
    题解 CF499A 【Watching a movie】
    2019.8.18小结
  • 原文地址:https://www.cnblogs.com/suruozhong/p/11738499.html
Copyright © 2011-2022 走看看