<el-form>标签与<el-col>之间的套用导致点击无效的问题

编写简单的<el-form>表单时,可以使用<el-col>用来进行布局,让相关的组件放在同一行。但是今天使用时发现有两个问题:

<el-row>

<el-col>

</el-col>

</el-row>

①如果用上以上这样的格式,布局无效

②如果不用<el-row>标签,则form表单的组件点击无效

问题原理:

经过查找之后发现,源码中在el-form-item.vue的代码中发现了这样一个计算属性:

复制代码
  1. form() {

  2. let parent = this.$parent;

  3. let parentName = parent.$options.componentName;

  4. while (parentName !== 'ElForm') {

  5. if (parentName === 'ElFormItem') {

  6. this.isNested = true;

  7. }

  8. parent = parent.$parent;

  9. parentName = parent.$options.componentName;

  10. }

  11. return parent;

  12. },

这里通过当前组件,一级一级向上找,直到找到el-form组件就返回,而其他计算属性/方法依赖form计算属性,这也就能解释为什么remark表单项能正常点击,而name和type表单项无法点击的问题了。

解决方法:

只使用 <el-col>,但使用时注意套住所有组件(即<el-form-item>),我在使用时忘记套用submit按钮,导致只有按钮可以点击,而其他组件点击无效。

相关推荐
Muen15 分钟前
iOS设计模式-外观Facade
前端
Cobyte38 分钟前
21.Vue Vapor 组件的实现原理
前端·javascript·vue.js
前端双越老师38 分钟前
我从 0 开发的 AI Agent 智语项目发布了
前端·node.js·agent
橙某人41 分钟前
LogicFlow 工作流撤销与重做:从「全量快照」到「命令模式」🎯
前端·vue.js
铁皮饭盒1 小时前
Rust版Bun1.4之前, 盘点Bun1.3新特性
前端·javascript·后端
恋猫de小郭1 小时前
如何让 AI 快速搭建一套生产 Agent ?全面理解 Agent 架构。
前端·人工智能·ai编程
Csvn1 小时前
Vite 构建缓存优化:二次构建从 15s 降到 2s 的实战方案
前端
晓得迷路了1 小时前
栗子前端技术周刊第 135 期 - Vite 8.1、Rspack 2.1、Babel 8.0...
前端·javascript·vite
你听得到112 小时前
用户说 App 卡,但说不清在哪?我把 Flutter 监控 SDK 升级成了链路观测工作台
前端·flutter·性能优化