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

相关推荐
2601_9498180914 小时前
头歌答案--爬虫实战
java·前端·爬虫
猫猫不是喵喵.15 小时前
layui表单项次大数据量导入并提交
前端·javascript·layui
张小潇15 小时前
AOSP15 WMS/AMS系统开发 - 窗口层级源码分析
android·前端
whuhewei15 小时前
HTTP1/2/3演变
前端·计算机网络
腹黑天蝎座15 小时前
从零实现一个前端监控系统:性能、错误与用户行为全方位监控
前端·监控
Hello--_--World16 小时前
ES13:类私有属性和方法、顶层 await、at() 方法、Object.hasOwnProperty()、类静态块 相关知识点
开发语言·javascript·es13
comerzhang65516 小时前
Web 性能的架构边界:跨线程信令通道的确定性分析
javascript·webassembly
Hooray16 小时前
为了在 Vue 项目里用上想要的 React 组件,我写了这个 skill
前端·ai编程
咸鱼翻身了么16 小时前
模仿ai数据流 开箱即用
前端
风花雪月_16 小时前
🔥IntersectionObserver:前端性能优化的“隐形监工”
前端