This article will take you through how Vue ElementUI handles very large forms. I hope it will be helpful to you!
Due to recent business adjustments in the company, the logic of the previous long form has changed a lot, so I plan to reconstruct it (it was written by a background manager who has resigned. , and there are no comments. One component has 4000 lines written, which is really powerless). For your convenience, I have split the project into 14 components
and simplified them.
validate# provided by
el-form when saving ##Method for verification (
Loop to verify each split component)vue.js Tutorial"]
StartFor example:
form1,
form2 (for the convenience of readers, do not use names)
tied together? The determined ones are all
form will be explained later (for the convenience of later maintenance)
// form1 组件// form2 组件
// 父组件报错
and
form2 in
formData are used on the
ref of the subform component respectively, they can be Find them in turn during traversal and modify the save function. The code is as follows:
methods: { save () { // 每个表单对象的 key 值,也就是每个表单的 ref 值 const formKeys = Object.keys(this.formData) // 执行每个表单的校验方法 const valids = formKeys.map(item => this.$refs[item].validForm()) // 所有表单通过检验之后的逻辑 if (valids.every(item => item)) { console.log(11) } } }
are bound to
form
has common
props methods
export default { props: { form: { required: true, type: Object, default: () => {} }, }, methods: { validForm () { let result = false this.$refs.form.validate(valid => valid && (result = true)) return result } } }
in
form1 form2 and delete the corresponding properties and methods in the corresponding component
Introduction to Programming! !
The above is the detailed content of How Vue+ElementUI handles oversized forms. For more information, please follow other related articles on the PHP Chinese website!