关于el-table header 插槽踩坑记录

起因是因为我们公司的产品想往这个table 表头上面添加一个筛选的popver

一开始看到这个我还不以为然,不就是往el-table 的header slot加一个popver就可以了么,太简单了。table是根据业务二次封装的,不好直接往上面丢业务代码,所以向父组件暴露一个slot。

加上去之后傻眼🙄了

好像跟想象中的效果不一样?后面思考了很多方向,样式穿透,视图刷新...等,发现都不是这些问题。直到今天网上查询资料才发现,可能是vue2的slot 跟饿了么的el-checkbox存在兼容问题

vue3 的效果是正常的

解决办法

  1. 使用原生的input checkbox 去实现el-checkbox的效果

2. 使用vue3 #slot的写法。

因为vue各个版本的slot语法各不相同,所以这里总结一下

版本 父组件写法(具名插槽) 父组件写法(作用域插槽) 子组件写法
vue2.5更早 <template slot="header"> <template slot="header" slot-scope="scope"> <slot name="header"></slot>
vue2.6+ <template v-slot:header> <template v-slot:header="scope"> <slot name="header"></slot>
vue3 <template #header> <template #header="scope"> <slot name="header"></slot>
相关推荐
猫不易4 分钟前
从 Virtual DOM 到 Vapor:Vue 3.6 的另一条路
前端·vue.js
雪碧聊技术4 小时前
Vue + Element Plus 实现文本溢出显示省略号及悬浮提示
前端·javascript·css·vue.js·文本溢出省略
Highcharts.js8 小时前
Highcharts 主流前端框架无缝集成指南
前端·vue.js·前端框架·highcharts·可视化图表
岁岁种桃花儿9 小时前
Vue核心语法第十一篇:绑定样式
前端·javascript·vue.js
大龄码农有梦想1 天前
Vue + BPMN.js + Camunda:搭建企业级流程设计器完整实践
javascript·vue.js·流程设计器·bpmn.js·bpmn·流程审批·工作流设计器
岁岁种桃花儿1 天前
Vue核心语法第一篇:Vue是什么?
前端·javascript·vue.js
你挚爱的强哥1 天前
【chromeDownload】自定义组件:多用于登录框底部提供下载Chrome谷歌浏览器的链接
前端·vue.js·chrome
daols881 天前
vue 甘特图 vxe-gantt 任务条拖拽自动更新日期
javascript·vue.js·甘特图
java1234_小锋2 天前
Vue3专题 - 组件基础
vue.js·vite
阿懂在掘金2 天前
同一份弹窗我重构了三次:从 v-model 地狱到路由式调用,终于治好了模板臃肿
前端·vue.js·前端框架