Estoy usando la configuración de vue3 y elementUI plus, la validación del formulario me molesta, el error es: "form.js?t=1640941515436:71 Uncaught (en promesa) TypeError: No se pueden leer las propiedades de undefined (leyendo 'validar')" .
el programa está bien cuando escribo el siguiente código:
// form.js import { reactive, ref, unref } from 'vue' let formRef = ref(null) let formData = reactive(formData1) let rules = reactive(rules1) function valid() { let form = unref(formRef) return form.validate() } export { formRef, formData, rules, valid } // login.vue <script setup> import { formRef, formData, rules, valid } from './form' const submit = async () => { let validResult = await valid().catch((err) => { return err }) if (validResult === true) { }else { } }en realidad, quiero modular todo el formulario, incluye el elemento html, pero es demasiado difícil para mí, así que solo uso Class en form.js, luego puedo usar Class en otro archivo, pero arrojó un error, la imagen del error es en el final.
"Código de clase:
// form.js class Form { constructor(formData, rules) { this.formData = reactive(formData) this.rules = reactive(rules) this.formDom = ref() } valid() { let form = unref(this.formDom) return form.validate() } } export { Form } // Login.vue import { Form } from './form' let fromInstance = new Form(formData1, rules1) const submit = async () => { let validResult = await fromInstance.valid().catch((err) => { return err }) if (validResult === true) { }else { } }