Vue关于子页面参数传递的bug

element select组件和vue.js
子页面查询表单select组件(prop=‘queryParam.id’)选项由父页面传递参数(id)默认选择,在子页面中create生命钩子中调用相关数据列表和select组件选项列表数据,若在该生命周期中给查询表单的查询对象赋值(queryParam.id = id)会产生bug:

f5刷新页面,select组件会直接显示value值(‘queryParam.id’),而不显示标签值;

解决办法:
将赋值语句独立出一个方法,在create钩子中调用该方法,其回调方法中调用getList()

created() {

  const Id = this.$route.params.id
  this.getObject(Id) //重点
  //获取相关数据
  ...
  //获取数据源
  listAllObject().then(res=>{
    this.selectDataSource = res.data
	...
  })
},
methods: {
  getObject(Id){
    getObject(Id).then(res =>{
  	//重点
      this.queryParams.Id= res.data.id
      this.defaultId = res.data.id
    })
  },
  ...
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值