记录一次使用 el-dialog + el-form 出现的BUG

70 阅读1分钟

记录一次使用 el-dialog + el-form 出现的BUG

需求

  • 弹出框中包含一个表单
  • 表单项 1:
    • 下拉框
    • 选择类型: 数据源或IT系统
  • 表单项 2:
    • 下拉框
    • 选择数据源中的数据 (单选)
  • 表单项 3:
    • 下拉框
    • 选择IT系统中的数据 (多选)

初始实现

使用 v-if 进行表单项 2 和 3 的显示和隐藏。

出现的BUG

  • 当在表单项 2 中选择数据源后
  • 切换表单项 1 为 IT系统
  • 已选择的数据源的文本会显示在 IT系统的下拉框中
  • 该问题仅在 form 表单放在 dialog 中出现

解决方案

  • 使用 v-show 替换 v-if 以控制表单项 2 和 3 的显示和隐藏
  • 切换时,动态添加或删除 datarule 对象中要校验的表单项 2 或表单项 3

结论

通过更改显示控制指令和动态调整验证规则,解决了在特定配置下出现的BUG。