首页 > 其他 > 详细

vue中的props问题

时间:2021-07-29 00:58:01      阅读:13      评论:0      收藏:0      [点我收藏+]
  • 问题描述:原本项目中是一个父组件以及一个弹框子组件,弹框中的数据仅仅用于显示,原始的子组件中props中定义record,

                        现在在原本需求之上,需要对弹框里的内容进行改变,比如弹框表格新增记录,此时props中的record需要改变,若是继续直接采用record就会可能出现报错

  •  原本代码:
//父组件中(handleRecordDialog为子组件)
//html
handleRecordDialog(:record="record)

//js部分
import handleRecordDialog from ‘@self/components/‘
record:[]
//子组件中
props:{
   record:{
      type:Array,
      default:()=>[{}]
  }
}

  • 解决方法:将:record换成:recordData,在子组件中,定义record:[ ],在watch里面监听recordData,这样我们就可以直接操作改变record值了
//父组件中:
handleRecordDialog(:recordData="record")
//子组件中:
props:{
   recordData:{
       type:Array,
       default:()=>[{}]
  }  
}


data(){
  return {
   record:[]
   }
}

watch:{
   recordData:{
       handle(val) {
         this.record = JSON.parse(JSON.stringfy(val))
      },
    immediate:true
  },
}

 

 

                 

vue中的props问题

原文:https://www.cnblogs.com/bindy-totoro/p/15072798.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!