Rumah > Soal Jawab > teks badan
Saya mempunyai tiga komponen dan saya ingin menurunkan model reaktif daripada ibu bapa -> anak -> cucu (medan vee-validate).
Jadi komponen induk kelihatan seperti:
<template> <child v-model="formData" /> </template> . . . setup() { const formData = ref<CreateAccount>({ email: "", firstName: "", lastName: "" }); return { formData, }; }
Komponen anak (dengan komponen cucu) kelihatan seperti:
<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"], }, });
Sekarang masalah saya ialah, saya tidak boleh hanya menyerahkan modelValue kepada sifat Field v-model, jadi saya tidak pasti sama ada terdapat satu siri acara atau perlu memfaktorkan semula child modelValue?
P粉0445262172024-03-27 00:32:00
Saya akhirnya menggunakan penyelesaian berikut dalam komponen anak saya:
<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); }, }, }, }, });