当前位置: 首页 > 知识库问答 >
问题:

element-ui - elementui,el-table组件,设置show-overflow-tooltip无效如何处理?

商嘉木
2024-06-27

项目中用到ele的table组件,某些列需要使用show-overflow-tooltip来提示,超出显示省略号,如果正常使用是没有问题的,但是由于列内容比较复杂,所以需要在列里面通过div来包裹内容,虽然能够提示tooltip,但是却无法显示省略号了,请问该怎么处理呢?谢谢!

共有2个答案

巫英纵
2024-06-27

内容比较复杂,得看你的内容物是怎么样的。如果说只是文本内容的整理组装。那么可以使用 formatter 这个属性来传入转换函数,返回组装好的文本内容。这个是可以正确应用到 show-overflow-tooltip 的超出省略效果的。

如果是内部是图标元素+文本内容,那么你给你的 slot 插入的顶级 div 元素增加 text-overflow: ellipsis 样式即可。如果是更复杂的内容,比如说 el-tag 清单,那么就需要你自己设计处理超出隐藏的效果。

富凯旋
2024-06-27

当在 el-table 的列中使用 show-overflow-tooltip 并通过 div 包裹内容时,如果 div 没有适当的样式来限制其宽度或触发溢出,那么它可能不会显示省略号(ellipsis)。以下是一些可能的解决方案:

  1. div 设置固定宽度和溢出样式
    确保你为包裹内容的 div 设置了宽度,并使用了 overflow: hidden; text-overflow: ellipsis; 样式。
<el-table-column prop="yourProperty" label="Your Label" show-overflow-tooltip>  <template slot-scope="scope">    <div class="ellipsis-tooltip">{{ scope.row.yourProperty }}</div>  </template></el-table-column><style>.ellipsis-tooltip {  width: 100%; /* 或者你需要的任何固定宽度 */  white-space: nowrap;  overflow: hidden;  text-overflow: ellipsis;}</style>
  1. 使用 Element UI 的 cell-class-name 属性
    如果你想要更动态地应用样式,你可以使用 cell-class-name 属性,并基于某些条件返回类名。
<el-table-column  prop="yourProperty"  label="Your Label"  show-overflow-tooltip  :cell-class-name="'ellipsis-tooltip'">  <!-- ... 省略模板部分 ... --></el-table-column><style>/* 同上 */.ellipsis-tooltip {  width: 100%;  white-space: nowrap;  overflow: hidden;  text-overflow: ellipsis;}</style>
  1. 检查其他可能影响布局的样式
    确保没有其他 CSS 规则(如父元素的样式)正在干扰你的 div 的宽度或溢出行为。
  2. 确保 el-table 和列有足够的宽度
    如果 el-table 或其列没有足够的宽度来显示完整的文本,那么即使你设置了溢出样式,也可能看不到省略号,因为文本实际上并没有溢出。
  3. 使用自定义指令或方法
    如果以上方法都不起作用,你可以考虑使用 Vue 的自定义指令或方法来手动控制文本的显示和隐藏。

确保你检查了所有相关的样式和逻辑,并适当地调整了它们以满足你的需求。如果问题仍然存在,请考虑查看 Element UI 的官方文档或社区论坛,看看是否有其他开发者遇到了类似的问题并找到了解决方案。

 类似资料:
  • 页面上有很多动态生成的el-popover,有可能堆叠,所以我希望能够手动控制z-index属性,例如,如果鼠标移动上去,我将某个el-popover的z-index加1,如此来控制弹框显示,改怎么设置呢 ?

  • 项目中使用到ele组件el-popover,页面上有不同类型的提示框,有些鼠标移上去显示,有些需要进入页面后就一直显示,且不会关闭。 鼠标移上去显示好实现:直接trigger='hover'救可以了,但是进入页面就一直显示的我使用方式 这么做确实能进入页面后一直显示,但是样式却不正常(和通过hover展示出来的样式),没有箭头,且紧紧挨着'reference'对象。 正常通过hover触发如下:

  • 项目中需要用到el-tree做拖拽功能,但是层级有限制要求,例如:不能超过6级,但是allow-drop提供的方法参数感觉有问题,参照的层级对不上,导致计算有问题。

  • 需要用到elementui的表格,但是表格是树形的,想要做成和 tree 一样,显示链接线。本来想用 tree 组件实现的,但是需要像表格一样有很多列,tree 不好控制宽度。

  • Element-UI table reserve-selection 如何生效? 我的在线代码 第一页选中了 1,2,3条 此时切换到第二页再切回来,为什么还是没有选中? 是我理解有问题吗? https://codepen.io/firstblood93/pen/vYMOeyN

  • 组件el-popover默认情况下会挂载到body下面,但是现在需要挂载到指定id的dom下,该如何操作?(挂到父节点下不行,因为父节点比较小,导致popover全部显示在右侧——设置placement无效)。 现在需要挂在到id='nodes-wrapper'的div下,该如何写?