el-table-column 的 show-overflow-tooltip属性

在 Element UI 框架中,el-table-column 属性 show-overflow-tooltip 意思是:当内容过长被隐藏时显示 tooltip(默认值为 false)。但是有时候会出现一些莫名其妙的BUG,比如,和 el-form 配合使用时,鼠标碰上去会显示报错的信息而不是内容的信息,还有一些很奇葩的显示。所以本文给大家带来一个替代方案...

 

解决方案:el-tooltip + filter + ellipsis
下面举例一个伪代码(此场景是对el-table可进行编辑单元格),思路看懂了就行,用的也是此框架中的另一个组件——“el-tooltip”。

HTML

复制代码
 1 <el-table-column>
 2   <template slot-scope="scope">
 3     <el-tooltip effect="dark" :content="scope.row.customparamName" :disabled="scope.row.customparamName | ellipsis" placement="top">
 4       <div>
 5         <span v-if="scope.row.isRead" class="ellipsis diyname-ellipsis-width">{{ scope.row.customparamName }}</span>
 6         <el-form-item v-else :prop="'table.' + scope.$index + '.customparamName'" :rules="rules.customparamName">
 7           <el-input class="edit-input" v-model="scope.row.customparamName" placeholder="输入自定义名称" />
 8         </el-form-item>
 9       </div>
10     </el-tooltip>
11   </template>
12 </el-table-column>
复制代码

Ps:注意这里 el-tooltip 子节点里只能有一个节点,多个的话会出BUG。

Style

复制代码
 1 .diyname-ellipsis-width {
 2 display: inline-block;
 3 width: 118px;
 4 }
 5 
 6 .ellipsis {
 7 overflow: hidden;
 8 white-space: nowrap;
 9 text-overflow: ellipsis;
10 }
复制代码

JS

复制代码
 1 filters: {
 2   ellipsis (value) {
 3     // console.log('ellipsis value:'+ value)
 4     let width = getTextWidth(value)
 5     // console.log(width)
 6     if (width > 110) {
 7       return false
 8     }
 9     return true
10   }
11 }
复制代码

 

————————————————
版权声明:本文为CSDN博主「Lux_Sun」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Dream_Weave/java/article/details/99687469

posted @   流水乄心  阅读(8059)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示