美文网首页
vue3 父子组件传参(2)

vue3 父子组件传参(2)

作者: sunflower_07 | 来源:发表于2023-08-06 15:25 被阅读0次
方法一:

使用计算属性(Computed Property):
子组件可以使用计算属性来派生父组件传递的数据,并在表单中使用派生后的数据。这样,在表单中修改派生的数据不会直接影响父组件传递的原始数据。

<template>
  <div>
    <h3>子组件</h3>
    <form>
      <label for="child-name">姓名:</label>
      <input id="child-name" type="text" v-model="derivedData.name">
    </form>
  </div>
</template>

<script>
export default {
  props: {
    formData: Object
  },
  computed: {
    derivedData: {
      get() {
        return { ...this.formData };
      },
      set(value) {
        // 可以在这里对派生的数据进行额外的操作
        this.$emit('update:formData', value);
      }
    }
  }
};
</script>

通过使用计算属性 derivedData,我们在子组件中派生了 formData 的副本。当表单数据发生变化时,通过 set 方法更新派生的数据,并通过 $emit 发送更新后的数据给父组件。

方法二:

子组件可以通过自定义事件向父组件发送修改后的表单数据。

<template>
  <div>
    <h3>子组件</h3>
    <form>
      <label for="child-name">姓名:</label>
      <input id="child-name" type="text" v-model="childFormData.name">
    </form>
    <button @click="updateParentData">更新父级数据</button>
  </div>
</template>

<script>
export default {
  props: {
    formData: Object
  },
  data() {
    return {
      childFormData: { ...this.formData }
    };
  },
  methods: {
    updateParentData() {
      this.$emit('update-form-data', { ...this.childFormData });
    }
  }
};
</script>

在子组件中,我们将 formData 拷贝到 childFormData 中,并通过 v-model 绑定表单数据。当点击按钮时,通过 $emit 发送名为 update-form-data 的自定义事件,将修改后的数据传递给父组件。

这些是几种常见的处理父组件传递数据给子组件并在表单中使用的方法。具体选择哪种方法取决于你的需求和代码结构,以及是否需要双向绑定或对数据进行额外的操作。

相关文章

  • (VUE3) 四、组件传值(父子组件传值 & 祖孙组件传值 &v

    1.父子组件传值 vue2中的父子组件传值:父组件: 子组件: vue3中的父子组件传值: 还是用props接收父...

  • Vue3(四)组件传值

    坚持、坚持、再坚持!努力、努力、再努力!今天把Vue3更完 关键字:父子组件传值、 1. 父子组件传值 父 子 2...

  • vue3 - 父子组件之间的传值 2022-03-01

    近期学习 vue3 的父子组件之间的传值,发现跟 vue2.x的父子组件之间的传值 并没有太大的区别,我这边总结一...

  • Flutter 父子组件传参 之 父组件向StatefulWid

    Flutter 父子组件传参 之 父组件向StatefulWidget有状态子组件传参https://www.we...

  • router-view 父子传参

    导语: 习惯了父子组件传参,今天聊一聊router-view传参。其实本质也是父子组件传参,方法一模一样,之前也提...

  • 03、vue 页面跳转传值,父子组件传值

    1、页面跳转传参 2、父子组件传值父组件 子组件(子组件调用父组件的方法) 3、父组件调用子组件的方法 4、修改浏...

  • vue组件传参问题

    在vue项目中会经常遇到组件传参问题,今天就来了解一下父子组件和兄弟组件传参 父组件传值给子组件 *父组件通过 ...

  • 跨级组件

    (1)、父子组件跨级 传参 父组件通过 provide 注入数据 子组件通...

  • vue组件通信

    vue的组件传参的方式父子组件传参1.prop和emit是子传父,子组件监听一个事件,父组件调用并接受子组件传递过...

  • Vue组件通信

    Vue 组件之间的通信,通常我们遇到的都是父子组件之间的通信 一、父子组件传参 子组件定义 Props 属性; 父...

网友评论

      本文标题:vue3 父子组件传参(2)

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