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>
相关推荐
lxh011312 分钟前
记忆函数 II 题解
前端·javascript
华仔啊23 分钟前
除了防抖和节流,还有哪些 JS 性能优化手段?
前端·javascript·vue.js
chenhdowue30 分钟前
vue 表格 vxe-table 高亮行支持取消操作
vue.js·vxe-table
这是个栗子35 分钟前
【Vue3项目】电商前台项目(四)
前端·vue.js·pinia·表单校验·面包屑导航
前端Hardy39 分钟前
Electrobun 正式登场:仅 12MB,JS 桌面开发迎来轻量化新方案!
前端·javascript·electron
叫我一声阿雷吧1 小时前
JS 入门通关手册(20):构造函数与原型:JS 面向对象第一课
开发语言·javascript·前端开发·前端面试·构造函数·js进阶·js面向对象
早點睡3901 小时前
ReactNative项目Openharmony三方库集成实战:@react-native-ohos/react-native-image-picker
javascript·react native·react.js
六元七角八分1 小时前
学习笔记二《JavaScript 流程控制》
javascript·笔记
用户405594802501 小时前
对组件内使用:deep()修改自身样式和样式穿透的记录
vue.js
何中应1 小时前
<el-tree>标签问题
前端·vue.js·elementui