vue.js - 将对象作为 prop 传递并将嵌套表单值与 Vuetify 文本字段同步

标签 vue.js vuejs2 vue-component vuetify.js

我正在尝试将输入的表单数据传递回父级。

父级:

  <AddForm
    :value.sync="field"
  ></AddForm>

data: () => ({
  field: {
    id: "",
    name: "",
  },
})

AddForm:

  <v-text-field :value="value.id" @input="addId"></v-text-field>
  <v-text-field :value="value.name" @input="addName"></v-text-field>

  props: {
    value: { type: Object, required: true },
  },

    methods: {
      addId(e) {
        this.$emit("update:field.id", e);
      },
      addName(e) {
        this.$emit("update:field.name", e);
      },
    }

不确定我错过了什么?

最佳答案

我认为你应该只更新field而不通过传播this.value来指定嵌套字段并添加更新的字段并将其作为有效负载发出:

    <v-text-field :value="value.id" @input="addId"></v-text-field>
    <v-text-field :value="value.name" @input="addName"></v-text-field>

  props: {
    value: { type: Object, required: true },
  },

    methods: {
      addId(e) {
        this.$emit("update:field",{...this.value, id: e});
      },
      addName(e) {
        this.$emit("update:field", {...this.value,name:e});
      },
    }

关于vue.js - 将对象作为 prop 传递并将嵌套表单值与 Vuetify 文本字段同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64285509/

相关文章:

javascript - 如何在 VueJS 中添加自定义排序?

javascript - Vue 组件不会在 dom 更改时被销毁

vue.js - Vue 计算属性不响应状态变化

javascript - 为什么不更新我在子组件中传递的父组件中的值并更新使用自定义事件 $emit Vue 3?

javascript - 从输入数据作为图像数组传递到 api

html - Vue v-html 指令不运行 &lt;script src =".."> 标签

vue.js - Vue 2 - vuex mapGetters 和传递参数

vue.js - vuejs 动态指令绑定(bind)到数据/计算值

css - vuejs 中 jquery css 的替代方案

javascript - Vue.js - 应该使用哪个组件生命周期来获取数据?