VUE3 中使用 Element Plus 获取表单验证通过的值
时间: 2024-02-17 07:05:15 浏览: 313
解决vue+ element ui 表单验证有值但验证失败问题
在 Vue3 中,Element Plus 的使用方式和 Vue2 有些差异,但是获取表单验证通过的值的方法基本相同。以下是一个示例代码:
```html
<template>
<el-form :model="form" :rules="rules" ref="formRef">
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="年龄" prop="age">
<el-input v-model.number="form.age"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm">提交</el-button>
</el-form-item>
</el-form>
</template>
<script>
import { ref } from 'vue';
export default {
setup() {
const formRef = ref(null); // 定义 ref
const form = ref({
name: '',
age: '',
});
const rules = ref({
name: [
{ required: true, message: '请输入姓名', trigger: 'blur' },
],
age: [
{ required: true, message: '请输入年龄', trigger: 'blur' },
{ type: 'number', message: '年龄必须为数字值' },
],
});
const submitForm = () => {
formRef.value.validate((valid) => {
if (valid) {
console.log(form.value); // 获取表单数据
} else {
console.log('表单验证失败');
return false;
}
});
};
return {
formRef,
form,
rules,
submitForm,
};
},
};
</script>
```
在上述代码中,我们使用了 Vue3 的新特性 `setup()` 函数来创建组件,使用 `ref` 来定义表单数据和规则,并通过 `ref` 获取表单组件的实例,然后在 `submitForm` 方法中通过 `formRef.value.validate()` 方法验证表单是否通过,如果通过则可以通过 `form.value` 来获取表单数据。
阅读全文