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" }],
});
相关推荐
丰锋ff8 分钟前
基于 Qt 的智能门禁系统(二)
开发语言·qt
rockey62718 分钟前
C#脚本引擎之AScript与Jurassic、Jint对比
javascript·c#·.net·js·script·动态脚本
fpcc19 分钟前
跟我学C++中级篇——编译期的条件选择
开发语言·c++
SomeB1oody34 分钟前
【RustyML入门】6.3. 并行归约
开发语言·后端·机器学习·rust·教程
Profile排查笔记1 小时前
指纹浏览器哪个好?从 Profile、代理、权限和自动化能力判断是否适合
前端·人工智能·后端·自动化
mqiqe2 小时前
AgentScope Java 2.0 协议集成全景解析:A2A、AG-UI、Agent Protocol 三大开放协议实战指南
java·开发语言·ui
lzhdim2 小时前
12、JavaScript常见的内存泄露问题 - JavaScript学习系列文章
开发语言·前端·javascript·学习·ecmascript
denggun123452 小时前
yield
前端·数据库·python
前端snow2 小时前
ai agent -- prompt汇总
前端
脉动数据行情2 小时前
Java 实现台股 TWSE/TPEx 行情采集(个股 + K 线)
java·开发语言·twse·tpex·台股