Heim > Fragen und Antworten > Hauptteil
Ich habe drei Komponenten und möchte ein reaktives Modell von Eltern -> Kind -> Enkel weitergeben (Vee-Validierungsfeld).
Die übergeordnete Komponente sieht also so aus:
<template> <child v-model="formData" /> </template> . . . setup() { const formData = ref<CreateAccount>({ email: "", firstName: "", lastName: "" }); return { formData, }; }
Untergeordnete Komponente (mit Enkelkomponente) sieht so aus:
<template> <Field type="text" name="email" v-model="modelValue.email" ???? /> </template> export default defineComponent({ name: "step-2", components: { Field, }, props: { modelValue: { type: Object, required: true, }, }, emits: ["update:modelValue"], }, });
Mein Problem ist nun, dass ich den ModelValue nicht einfach an die Field-V-Model-Eigenschaft übergeben kann. Daher bin ich mir nicht sicher, ob es eine Reihe von Ereignissen gibt oder ob der untergeordnete ModelValue umgestaltet werden muss.
P粉0445262172024-03-27 00:32:00
我最终在我的子组件中使用了以下解决方案:
<template> <Field type="text" name="email" v-model="model.email" /> </template> export default defineComponent({ name: "step-2", components: { Field, }, props: { modelValue: { type: Object, required: true, }, }, computed: { model: { get() { return this.modelValue; }, set(value) { this.$emit("update:modelValue", value); }, }, }, }, });