学无先后,达者为师

网站首页 编程语言 正文

Vite2+TS+el3获取DOM元素设置类型并进行表单校验

作者:你吃香蕉吗? 更新时间: 2022-01-13 编程语言

 1、设置el-form的表单ref属性

<el-form
    ref="ruleFormBox"
    :model="ruleForm"
    :rules="rules"
    label-width="120px"
    class="demo-ruleForm"
>
    <el-form-item label="用户名" prop="name">
        <el-input v-model="ruleForm.name"></el-input>
    </el-form-item>
    <el-form-item label="密码" prop="password">
        <!-- show-password 带有查看功能的密码框 -->
        <el-input
            show-password
            v-model="ruleForm.password"
        ></el-input>
    </el-form-item>
    <el-form-item>
        <el-button type="primary" @click="submitForm(ruleFormBox)"
            >登录</el-button
        >
        <el-button @click="resetForm(ruleFormBox)">重置</el-button>
    </el-form-item>
</el-form>

2、导入el3提供的表单数据类型Elform 

import type { ElForm } from "element-plus";

3、定义获取DOM元素,并设置TS数据类型,将其作为方法的传参

// ref用于定义获取dom元素 和 定义单值响应式数据
const ruleFormBox = ref<InstanceType<typeof ElForm>>();

4、定义方法,接受参数(第3步定义的) 

const submitForm = (formEl: InstanceType<typeof ElForm> | undefined): void => {
    //没有参数的情况下要return掉,否则编译器会报错    
    if (!formEl) return;
    formEl.validate(vaild => {
        if (vaild) {
            console.log('success')
        } else {
            console.log("error");
            return false;
        }
    });
};
const resetForm = (formEl: InstanceType<typeof ElForm> | undefined): void => {
    if (!formEl) return;
    formEl.resetFields();
};

原文链接:https://blog.csdn.net/m0_47135993/article/details/122277671

栏目分类
最近更新