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" }],
});
相关推荐
lichenyang45337 分钟前
为什么需要双线程通信、JavaScriptProxy 和 runJavaScript 分别干什么
前端
以和为贵1 小时前
前端也能搞懂 RAG:用 JS 手写一条最小检索增强链路
前端·人工智能·面试
风止何安啊1 小时前
网课倍速痛点解决:一套前端代码实现自由控速播放器
前端·javascript·node.js
越努力越幸运661 小时前
多模态代码调试实战:Gemini3.5 精准捕获 HTML 隐性语法
html
牧艺1 小时前
用 Next.js + React Three Fiber 打造 3D 快递仓储可视化
前端·three.js
锋行天下2 小时前
如何用Vite实现Vue组件的按需打包和远程加载
前端·vue.js·前端框架
光影少年2 小时前
原生DOM操作在React 中的注意事项
前端·javascript·react.js
糖拌西瓜皮2 小时前
Node.js核心模块实战:文件、路径、HTTP与流处理
javascript·node.js
糖拌西瓜皮2 小时前
NestJS入门指南:Java开发者的Spring Boot体验
javascript·node.js
糖拌西瓜皮2 小时前
Express框架快速上手:中间件、路由与错误处理
javascript·node.js