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>
相关推荐
招风的黑耳几秒前
基于 Axure 与 Element UI 风格的拖动行排序表格设计
elementui·axure·表格·拖动
南知意-2 分钟前
从零搭建 Live2D 看板娘教程(自建API避墙版)
服务器·前端·vue.js·开源·博客·美化·看板娘
来杯三花豆奶9 分钟前
Vue 2 中 Store (Vuex) 从入门到精通
前端·javascript·vue.js
四瓣纸鹤9 分钟前
从vue2和vue3的区别聊起
vue.js·状态模式
Web打印20 分钟前
HttpPrinter是一款基于HTTP协议的跨平台Web打印解决方案,
javascript·php
少油少盐不要辣27 分钟前
前端如何处理AI模型返回的流数据
前端·javascript·人工智能
跟着珅聪学java30 分钟前
以下是使用JavaScript动态拼接数组内容到HTML的多种方法及示例:
开发语言·前端·javascript
巴拉巴拉~~38 分钟前
KMP 算法通用图表组件:KmpChartWidget 多维度可视化 + PMT 表渲染 + 性能对比
前端·javascript·microsoft
智算菩萨43 分钟前
基于spaCy的英文自然语言处理系统:低频词提取与高级文本分析
前端·javascript·easyui
老华带你飞44 分钟前
个人网盘管理|基于springboot + vue个人网盘管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端