日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

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

欄目分類
最近更新