美文网首页
van-popup在组件中使用v-model绑定父组件传来的值报

van-popup在组件中使用v-model绑定父组件传来的值报

作者: 昵称被占用厉害了 | 来源:发表于2022-05-25 10:34 被阅读0次

van-popup在子组件中绑定父组件传来的值时报错如下

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: "show"”

<van-popup v-model="show" round position="bottom" @close="close">

子组件中绑定了show,报错的大概意思是,避免直接改变属性,因为每当父组件重新渲染时,该值将被覆盖。相反,使用基于属性值的数据或计算属性。通过props传递给子组件的topActive,不能在子组件内部修改props中的show值。

百度了很多方法,但是不能达到预期效果

1、使用计算属性

    这个方法确实不会报错,但是会出现一个问题,点击van-popup遮罩层的时候,只有遮罩消失了,里面的内容还在,并且已经死掉了(注:我里面的内容使用的级联van-cascader)。

2、直接赋值给data()中的属性

showhide:this.show

然后v-model绑定showhide,但是这样也有问题,就是不能响应式了,可能是我改的有问题,但是确实没有实现

最后我从计算属性找到了灵感,我想计算属性不行的原因可能是因为它有缓存,所以我就想到了watch监听属性,果然完美解决

watch:{

show(newVal, oldVal){

this.showhide=newVal

}

},

最后,如果谁还有更好的方法,欢迎留言!

相关文章

  • van-popup在组件中使用v-model绑定父组件传来的值报

    van-popup在子组件中绑定父组件传来的值时报错如下 Avoid mutating a prop direct...

  • 简单的todo-list

    利用v-model双向数据绑定父组件向子组件传值用 props子组件向父组件传值用 $emit()

  • Vue中给子组件绑定v-model🚀

    父组件使用子组件时,使用v-model指令,在子组件中使用value获取props的值 父组件 子组件

  • vue父子组件传值-06-03

    自定义组件:父组件中使用v-model将值传入子组件,并且子组件也能将值传回父组件,v-model是双向传递。 而...

  • Class5 v-model使用和实现

    v-model一般用于input标签的值绑定和值变化通知 等价 自定义显示v-model组件功能 父组件 子组件...

  • vue父子组件的双向绑定

    父组件可以向子组件传值,修改。同时,子组件也可以向父组件传值和修改 父组件的分析:父组件使用v-model实现双向...

  • 自定义v-model报错: Avoid mutating a p

    当我们使用父组件向子组件传值,当子组件中是v-model使用该值时会报:[Vue warn]: Avoid mut...

  • [Vue warn]: Avoid mutating a pro

    找了半天没发现原因 后来找到原因 在子组件里绑定的值用了v-model 所以父组件传的值传进子组件就被修改 违反了...

  • 组件之间传值

    1.父子组件传值 父组件通过属性绑定传值,在使用子组件的地方,通过v-bind指令给子组件中的props传值 子...

  • 父子组件传值

    1、父组件向子组件传值 父组件通过属性绑定的方式向子组件传值 子组件通过props接收注意:子组件只可以使用父组件...

网友评论

      本文标题:van-popup在组件中使用v-model绑定父组件传来的值报

      本文链接:https://www.haomeiwen.com/subject/xideprtx.html