<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按钮,导致只有按钮可以点击,而其他组件点击无效。

相关推荐
Csvn3 分钟前
React 19 `use()` 来了:以后数据加载可以不用 useEffect?
前端·react.js
没落英雄6 分钟前
从零开始搭建一个 AI Agent —— LangChain + TypeScript 实战手记
前端·人工智能·架构
远航_8 分钟前
git submodule
前端·后端·github
摸着石头过河的石头11 分钟前
从 Webpack 到 RSBuild:前端构建工具的进化之路
前端
疯狂的魔鬼11 分钟前
告别 boolean 地狱:一个文件上传组件的状态机实践
前端·设计
竹林81811 分钟前
Solana DApp 开发踩坑实录:从零用 @solana/web3.js 实现链上数据查询与交易签名
前端·javascript
狂师15 分钟前
测试工程师的AI 技能库:推荐5个让你效率翻倍的Skills
前端·后端·测试
李明卫杭州16 分钟前
Vue3 watch 与 watchEffect 深度解析
前端
CodeSheep21 分钟前
DeepSeek正式官宣摇人,夯!
前端·后端·程序员
用户0595401744628 分钟前
Redis持久化踩坑实录:这个数据丢失Bug让我排查了6小时
前端·css