feat(Form): add submit、failed event
This commit is contained in:
@@ -42,7 +42,9 @@ export default {
|
||||
},
|
||||
|
||||
methods: {
|
||||
onSubmit() {},
|
||||
onSubmit(values) {
|
||||
console.log(values);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
+18
-2
@@ -17,12 +17,28 @@ export default createComponent({
|
||||
},
|
||||
|
||||
methods: {
|
||||
// @exposed-api
|
||||
validate() {
|
||||
return this.fields.map(item => item.validate()).every(item => item);
|
||||
},
|
||||
|
||||
getFormData() {
|
||||
return this.fields.reduce((form, field) => {
|
||||
form[field.name] = field.value;
|
||||
return form;
|
||||
}, {});
|
||||
},
|
||||
|
||||
onSubmit(event) {
|
||||
event.preventDefault();
|
||||
|
||||
const results = this.fields.map(item => item.validate());
|
||||
const valid = this.validate();
|
||||
|
||||
console.log(results);
|
||||
if (valid) {
|
||||
this.$emit('submit', this.getFormData());
|
||||
} else {
|
||||
this.$emit('failed');
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user