关于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>
相关推荐
刘一说3 小时前
Vue 组件不必要的重新渲染问题解析:为什么子组件总在“无故”刷新?
前端·javascript·vue.js
fanruitian4 小时前
uniapp 创建项目
javascript·vue.js·uni-app
刘一说5 小时前
Vue 导航守卫未生效问题解析:为什么路由守卫不执行或逻辑失效?
前端·javascript·vue.js
一周七喜h5 小时前
在Vue3和TypeScripts中使用pinia
前端·javascript·vue.js
东东5166 小时前
基于vue的电商购物网站vue +ssm
java·前端·javascript·vue.js·毕业设计·毕设
松树戈7 小时前
滥用AI生图引起的JavaScript heap out of memory排查记录
vue.js·ai编程
yangzheui9 小时前
【VUE2转VUE3学习笔记】-Day1:模板语法
vue.js·笔记·学习
A_nanda10 小时前
c# 用VUE+elmentPlus生成简单管理系统
javascript·vue.js·c#
北极糊的狐10 小时前
若依项目vue前端启动键入npm run dev 报错:不是内部或外部命令,也不是可运行的程序或批处理文件。
前端·javascript·vue.js
jiayong2311 小时前
Vue2 与 Vue3 核心原理对比 - 面试宝典
vue.js·面试·职场和发展