Avoid mutating a prop directly since the value will be overwritten whenever the parent component re

 Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "seat"

在这里插入图片描述
父组件传了一个seat给子组件,这个seat是从登录页面的input表单通过localstorage传过来的
在这里插入图片描述
在这里我要对这个seat值进行修改,然后提交给后台

我是这样实现的

props: {
    seat: {
      type: String
    }
  },
<div class="van-col van-col--12" :span="12">您的座位号</div>
  <div class="van-col van-col--12 number" style="text-align: right">
    <input id="number" type="number" v-model="seat" ref="input">
  </div>
</div>
<cube-button @click="sku_addCart" :primary="true">提交订单</cube-button>

然后测试:

修改座位号数据

截图
在这里插入图片描述
意思是:组件内不能修改props的值,同时修改的值也不会同步到组件外层,父组件方不知道子组件内部当前的状态是什么。

因为传入的prop中的值是不允许改变的。这个在vue更新后才会出现的

那我一定要修改这个值,怎么做?

这里我在data里面重新声明一个变量

newseat: this.seat

改一下input的v-model="newseat"

在提交里面

console.log('座位号 ' + this.newseat)
this.$emit('getCalled', this.newseat)

在这里插入图片描述
修改
在这里插入图片描述
并且没有报错,
这里打印的是要传给后台的数据,不会渲染到所有的页面

问题解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值