关于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>
相关推荐
像我这样帅的人丶你还2 天前
别再让JS耽误你进步了。
css·vue.js
@yanyu6662 天前
07-引入element布局及spring boot完善后端
javascript·vue.js·spring boot
王霸天2 天前
💥别再抄网上的Scale缩放代码了!50行源码教你写一个永不翻车的大屏适配
前端·vue.js·数据可视化
悟空瞎说2 天前
深入 Vue3 响应式:为什么有的要加.value,有的不用?从设计到源码彻底讲透
前端·vue.js
SuperEugene2 天前
前端通用基础组件设计:按钮/输入框/弹窗,统一设计标准|组件化设计基础篇
前端·javascript·vue.js·架构
我命由我123452 天前
在 React 项目中,可以执行 npm start 命令,但是,无法执行 npm build 命令
前端·javascript·vue.js·react.js·前端框架·json·ecmascript
aidou13142 天前
Vue3自定义实现日期选择器(可单选或多选)
前端·javascript·vue.js·日期选择器·transition
忆琳2 天前
Vue3 优雅解决单引号注入问题:自定义指令 + 全局插件双方案
vue.js·element
Ruihong2 天前
放弃 Vue3 传统 <script>!我的 VuReact 编译器做了一次清醒取舍
前端·vue.js
蜡台2 天前
IDEA LiveTemplates Vue ElementUI
前端·vue.js·elementui·idea·livetemplates