Element Plus 问题:选择框表单校验没有触发

html 复制代码
<el-form ref="myForm" :model="myFormParams" :rules="myFormRules">
  <el-form-item label="课程" prop="course">
    <el-select v-model.trim="myFormParams.course" filterable clearable placeholder="请选择课程">
      <el-option v-for="item in courseList" :key="item" :label="item" :value="item" />
    </el-select>
  </el-form-item>
</el-form>
js 复制代码
const courseList = ["Vue", "React", "JavaScript", "HTML", "CSS"];

const myForm = ref(null);
const myFormParams = reactive({
  course: "",
});
const myFormRules = reactive({
  course: [{ required: true, message: "请选择课程", trigger: "blur" }],
});
  1. 在前端 Vue3 开发中,使用 Element Plus 组件库时,上述代码中的表单校验没有触发

  2. 即,选择课程后,清空选择框,校验没有触发

  3. 只有主动调用表单的校验方法,才会触发校验,如下

html 复制代码
<el-button type="primary" @click="submitmyForm">提交</el-button>
js 复制代码
const submitmyForm = async () => {
  try {
    await myForm.value.validate();
  } catch (error) {
    console.error(error);
    return;
  }

  ElMessage.success("提交成功");
}
处理策略
  • 选择框可以使用 change 作为触发条件
js 复制代码
const myFormRules = reactive({
  course: [{ required: true, message: "请选择课程", trigger: "change" }],
});
相关推荐
Ada's9 小时前
【计算机基础系列】003:Python数据结构
开发语言·数据结构·python
2601_962885729 小时前
如何用 Python 计算 TRIX 三重指数平滑均线指标?
开发语言·python
还卿一钵无情泪10 小时前
Unsloth 微调 构建自己的大模型 没有GPU也能微调
linux·开发语言·人工智能·python·大模型·nlp·unsloth
倔强的石头10611 小时前
应用账号最小权限实践:读写账号、报表账号、运维账号分层
java·运维·开发语言
传人once11 小时前
页面中心圆圈放大效果如何写
开发语言·javascript·ecmascript
NeilYuen11 小时前
【C++】STL源码仿写(二):vector
开发语言·c++
用户0333074139512 小时前
TypeScript using 与 AsyncDisposableStack:在真实服务端代码中协调多资源清理
前端
daisychey12 小时前
用 Playwright 做多平台内容分发,我踩过的 8 个坑
前端
蜗牛互联网12 小时前
Python消费Responses SSE事件:增量文本、超时与取消
java·开发语言·人工智能·后端·python
weixin_3077791312 小时前
C++代码实现MATLAB中的crossval函数功能
开发语言·c++·算法·matlab