• Vue3中使用el-table遇到的问题


    我在使用element-plus中el-table组件的时候,对于某一标签内的内容设置show-overflow-tooltip属性,但这里溢出展示的tooltip的默认样式是无法像el-tooltip标签那样,直接可以修改的。默认的样式是这样:

    因此,我尝试这样:

    1. <el-table-column property="name" :label="$t('Name')"
    2. min-width='40%' show-overflow-tooltip>
    3. <template #default="scope">
    4. <el-tooltip :content="scope.row.file_name" placement="bottom" offset="5" effect="light" :disabled="isShowFileName">
    5. <span class="name-line">
    6. {{ scope.row.file_name }}
    7. </span>
    8. </el-tooltip>
    9. </template>
    10. </el-table-column>

    但这样会导致同时展示两个tooltip,并且下面包裹在span标签外层的el-tooltip是会一直显示的,这里还需要写一个方法来判断当前是否溢出,这样逻辑就复杂了很多,至于如何判断,下面我会贴代码。这里我讲一下我对show-overflow-tooltip属性设置后样式的处理方法,使用官方文档中的:

    注意这里这个属性是el-table的,不要写在<el-table-column>标签上,代码如下:

    1. <el-table-column property="name" :label="$t('Name')"
    2. min-width='40%' show-overflow-tooltip
    3. :tooltip-options="{placement: 'bottom', effect: 'light', offset: -10}">
    4. <template #default="scope">
    5. <el-tooltip :content="scope.row.file_name" placement="bottom" offset="5" effect="light" :disabled="isShowFileName">
    6. <span class="name-line">
    7. {{ scope.row.file_name }}
    8. </span>
    9. </el-tooltip>
    10. </template>
    11. </el-table-column>

    实现效果如下:

    上面提到如何判断当前文本是否溢出呢,我在需要判断的元素身上绑定了@mouseenter方法,然后编写代码如下(TS代码):

    1. <el-tooltip :content="file_name" placement="bottom" offset="10" effect="light" :disabled="isShowName">
    2. <span class="pre-info-title" @mouseenter="visibilityNameChange($event)">
    3. {{ file_name }}
    4. </span>
    5. </el-tooltip>
    6. function visibilityNameChange(event: any) {
    7. const ev = event.target
    8. const evWeight = ev.scrollWidth
    9. const contentWeight = ev.clientWidth
    10. if (evWeight > contentWeight) {
    11. // 实际宽度 > 可视宽度 文字溢出
    12. isShowName.value = false
    13. } else {
    14. // 否则为不溢出
    15. isShowName.value = true
    16. }
    17. }

     即可判断是否溢出~

  • 相关阅读:
    同是负值像素,为何在matplotlib和opencv上显示不一样?
    交付实施工程师是做什么的?
    uni-app:实现背景渐变效果
    PTA 1040 有几个PAT
    TVM-MLC LLM 调优方案
    设计模式之观察者模式
    数据库PostgreSQL PG 字符串拼接,大小写转换,substring
    【猿创征文】Vue3 企业级优雅实战 - 组件库框架 - 3 搭建组件库开发环境
    JAVA【JDBC】【使用PreparedStatement操作数据库】
    Haddop访问不了loaclhost9870
  • 原文地址:https://blog.csdn.net/XZZXBC/article/details/139883088