el-table中show-overflow-tooltip属性未生效

问题描述:

       使用 el-table 组件中的 show-overflow-tooltip 属性,目的是想让“描述”这一栏信息只展示一行,如果信息过长则在行尾增加省略号并且鼠标移至该单元格上时能够显示 tooltip,但是却没有起到作用,页面效果如下:

出现上面图片效果所对应的代码如下: 

<el-table
    :header-cell-style="{ 'text-align': 'center' }"
    :cell-style="{ 'text-align': 'center' }"
    :data="tableData"
    :show-header="true"
    width="800px"
>
    <el-table-column
        type="index"
        label="序号"
    ></el-table-column>
    <el-table-column
        label="姓名"
        prop="name"
    ></el-table-column>
    <el-table-column
        label="描述"
        prop="describe"
        show-overflow-tooltip
    ></el-table-column>
</el-table>

解决方案:

       给出以下三种方案都可以试一试,本人是最后一种方案才解决问题的

方案一

       如果该 vue 文件底部的样式标签 <style scoped></style> 中属性值用了 scoped,那么将其删除;

方案二

       给加了 show-overflow-tooltip 的那一列设置定长宽度(增加 width 属性):

<el-table-column
    label="描述"
    prop="describe"
    width="150px"
    show-overflow-tooltip
></el-table-column>
方案三

       css 样式设置不对,在全局 css 文件中(我的项目中该文件名为 index.css,有的项目可能是 common.styl,根据自己实际的项目去找到该文件,找不到的话可以使用快捷键 Ctrl+shift+f 全局搜 .el-table 或 .cell 去定位文件)找到 .el-table .cell 这一栏,如下图所示,它有一个 white-space 属性,show-overflow-tooltip 未生效就是因为将该属性值设置为了 pre-line,我们只要将其值改为 nowrap 即可。

       讲到这里就稍微普及一下 white-space 的基本说明:

white-space 属性是用来定义 css 元素内的空白处理方式。其值主要有以下六类:

normal:    忽略多余的空白,只保留一个空白(默认);
pre:          保留空白;
nowrap:   只保留一个空白,文本不会换行,会在在同一行上继续,直到遇到br标签为止;
pre-wrap: 保留空白符序列,正常地进行换行;
pre-line:   合并空白符序列,保留换行符;
inherit:     从父元素继承 white-space 属性的值。

解决后的效果图:

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【金融科技蚂蚁】

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值