Vue子组件如何修改父组件传来的props值而不报错?

2026-04-05 20:2510阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计279个文字,预计阅读时间需要2分钟。

Vue子组件如何修改父组件传来的props值而不报错?

在Vue中,不建议直接在子组件中修改从父组件传递下来的props值。如果尝试这样做,会收到警告:

Vue子组件如何修改父组件传来的props值而不报错?

plaintext[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property to achieve the desired effect.

这是因为props是只读的,任何对props的直接修改都会在父组件重新渲染时被覆盖。为了正确处理这种情况,你应该在子组件中使用data或computed属性来存储需要修改的值。

vue不推荐直接在子组件中修改父组件传来的props的值,会报错

[Vue warn]: 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: "result" (found in component )

<input v-model="currentSearch" type="text" class="input-search" @keydown.enter="doSearch">

export default { name:"round-search-bar", props:['search'], //父组件传来的值 data(){ return { currentSearch: this.search //通过data, 定义新变量currentSearch, 这样currentSearch的值变更时,不会影响父组件传来的search的值 } }, methods: { doSearch(){ Util.searchAPI(this.$router,this.currentSearch) } }, }

以上这篇解决vue 子组件修改父组件传来的props值报错问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。

标签:props

本文共计279个文字,预计阅读时间需要2分钟。

Vue子组件如何修改父组件传来的props值而不报错?

在Vue中,不建议直接在子组件中修改从父组件传递下来的props值。如果尝试这样做,会收到警告:

Vue子组件如何修改父组件传来的props值而不报错?

plaintext[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property to achieve the desired effect.

这是因为props是只读的,任何对props的直接修改都会在父组件重新渲染时被覆盖。为了正确处理这种情况,你应该在子组件中使用data或computed属性来存储需要修改的值。

vue不推荐直接在子组件中修改父组件传来的props的值,会报错

[Vue warn]: 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: "result" (found in component )

<input v-model="currentSearch" type="text" class="input-search" @keydown.enter="doSearch">

export default { name:"round-search-bar", props:['search'], //父组件传来的值 data(){ return { currentSearch: this.search //通过data, 定义新变量currentSearch, 这样currentSearch的值变更时,不会影响父组件传来的search的值 } }, methods: { doSearch(){ Util.searchAPI(this.$router,this.currentSearch) } }, }

以上这篇解决vue 子组件修改父组件传来的props值报错问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。

标签:props