ElementPlus表单验证报错 formEl.validate is not a function

出现问题的代码

javascript 复制代码
  <!-- 密码重置弹框 -->
            <el-dialog v-model="innerVisible" width="500" title="密码重置" append-to-body>
                <el-form ref="ruleFormRef" style="max-width: 600px" :model="passForm" status-icon :rules="rules"
                    label-width="auto" class="demo-ruleForm">
                    <el-form-item label="密码" prop="password">
                        <el-input v-model="passForm.password" type="password" autocomplete="off" />
                    </el-form-item>
                    <el-form-item label="确认密码" prop="checkPass">
                        <el-input v-model="passForm.checkPass" type="password" autocomplete="off" />
                    </el-form-item>
                </el-form>
                <template #footer>
                    <div class="dialog-footer">
                        <el-button @click="innerVisible = false">取消</el-button>
                        <el-button type="primary" @click="resetPass">
                            提交
                        </el-button>
                    </div>
                </template>
            </el-dialog>
javascript 复制代码
// 密码重置
const resetPass = (formEl: FormInstance | undefined) => {
    if (!formEl) return
    formEl.validate((valid) => {
        if (valid) {
            passForm.id = user.value.id
            saveOrUpdate(passForm)
                .then((res: any) => {
                    if (res.code === 200) {
                        innerVisible.value = false;
                        ElMessage.success('提交成功!');
                        // 刷新一下用户信息
                        getUserData()
                    }
                }).catch((error) => {
                    ElMessage.error(error.message)
                });

        } else {
            console.log('error submit!')
        }
    })
}

发现点击提交时,进行校验逻辑时报错,原因是提交表单的按钮那里没有给方法传ruleFormRef:

正确写法

javascript 复制代码
     <el-button type="primary" @click="resetPass(ruleFormRef)">提交</el-button>
相关推荐
Chloe_lll14 小时前
threejs(五)纹理贴图、顶点UV坐标
javascript·贴图·uv
@PHARAOH15 小时前
HOW - prefetch 二级页面实践
前端·javascript·react.js
EF@蛐蛐堂15 小时前
WUJIE VS QIANKUN 微前端框架选型(一)
前端·vue.js·微服务·架构
硅谷工具人15 小时前
基于element-plus封装table组件
elementui·el-table封装
咚咚咚小柒15 小时前
【前端】用el-popover做通用悬停气泡(可设置弹框宽度)
前端·javascript·vue.js·elementui·html·scss
JAVA学习通16 小时前
OJ竞赛平台----C端题目列表
java·开发语言·jvm·vue.js·elasticsearch
执剑、天涯16 小时前
通过一个typescript的小游戏,使用单元测试实战(二)
javascript·typescript·单元测试
麦麦大数据16 小时前
F025 基于知识图谱图书可视推荐系统 vue+flask+neo4j | python编写、知识图谱可视化+推荐系统
vue.js·python·知识图谱·推荐算法·协同过滤·图书推荐
Stringzhua17 小时前
ElementUi【饿了么ui】
前端·ui·elementui
古一|17 小时前
vue3都有哪些升级相比vue2-核心响应式系统重构
javascript·vue.js·重构