element ui表格showOverflowTooltip文字过长优化方案
创始人
2024-06-02 11:06:17

在 table 组件展示数据时,对于文本过长的单元格添加show-overflow-tootip 属性后,tooltip 的宽度会撑满屏幕
在这里插入图片描述
从 DOM 节点可以看到,当鼠标进入 show-overflow-tooltip 属性作用的单元格时,body 下会多一个 class 为 el-tooltip__popper 的节点,这个节点就是真实的 tooltip 的 DOM

在这里插入图片描述
看来,一种非常直观的优化,就是直接重新 el-tooltip__popper 的样式,像这样:


注意:这个样式重写必须通过设置全局样式修改,如果在组件中添加样式不能使用 scoped 属性

在这里插入图片描述

上面这种方法的缺点显而易见,会造成全局样式的污染。在 table 组件源码中,可以从 table-body.js 中发现,showOverflowTooltip 的实现,也是使用了 element ui 的 tooltip 组件

如此,这里关闭 showOverflowTooltip,用 slot 重写单元格内容,使用我们自己定义的 tooltip 样式,像这样:



并且只需要在组件中修改 tooltip 提示内容的样式即可


而这种方法也有缺点,每个单元格都会有 tooltip 逻辑,而不是在文本超出裁剪之后才显示,那就就按需选择吧

相关内容

热门资讯

地方两会|江苏省人大代表杨东升... 中经记者 方超 石英婧 上海报道制造业综合实力领跑全国的“苏大强”江苏省,当下仍在持续擦亮制造业“金...
首次有台商品牌入选 旺旺集团获... (来源:上观新闻)2月3日,工业和信息化部办公厅公布2025年度“中国消费名品”名单,首次有台商品牌...
抖音公告:无限期封禁! 据@抖音黑板报,近期,冬奥会、乒乓球亚洲杯等重要体育赛事临近,平台发现部分违规用户借机制造“饭圈”矛...
山西:今年“千企百展”行动计划... 1月23日,为深入贯彻落实省委省政府稳外贸决策部署,支持企业开拓国际市场、提升国际化经营能力,省商务...