Element-UI 表单 在新增和编辑和详情是一个页面的情况下 如何在刚打开弹窗时时取消表单效验 在点击确定按钮时依然可以进行表单效验
时间: 2024-05-13 08:18:21 浏览: 75
你可以在弹窗打开时,将表单的 `validateOnRuleChange` 属性设置为 `false`,这样表单在数据改变时不会立即触发校验。然后在点击确定按钮时再手动触发表单校验,如果校验通过再执行相应的操作。
示例代码:
```vue
<template>
<div>
<el-dialog :visible.sync="dialogVisible" :title="dialogTitle">
<el-form :model="formData" ref="form" :rules="formRules" :validate-on-rule-change="false">
<!-- 表单项 -->
</el-form>
<div slot="footer">
<el-button @click="dialogVisible = false">取消</el-button>
<el-button type="primary" @click="handleSubmit">确定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
dialogVisible: false,
dialogTitle: '',
formData: {},
formRules: {}
};
},
methods: {
// 点击提交按钮
handleSubmit() {
this.$refs.form.validate((valid) => {
if (valid) {
// 校验通过,执行相应的操作
} else {
// 校验不通过,提示错误信息
}
});
}
}
};
</script>
```
在上面的代码中,我们将表单的 `validateOnRuleChange` 属性设置为 `false`,并在点击确定按钮时手动触发表单校验。这样,在弹窗刚打开时不会触发表单校验,只有在用户点击确定按钮时才会进行校验,可以实现你想要的效果。
阅读全文