iview中的表格render搭配使用Tooltip 文字提示

本文介绍了如何在使用IVIEW UI库时,通过结合Render函数和Tooltip组件解决表格中文字溢出的问题。作者详细解析了如何设置CSS样式以实现两行显示并省略,以及如何利用Tooltip显示全部内容。在遇到文字溢出时,通过截取字符串并在Tooltip中展示完整信息,达到了理想的显示效果。
摘要由CSDN通过智能技术生成

iview这个库用的很少,虽说很多ui库都是一样的,element-ui是使用template里的插槽 用的较熟悉一些,iview的是需要搭配render使用, 所以自己看了一下网上的,都不是我要的效果,就自己梳理了下
效果如下图:
在这里插入图片描述

自己这边也应用了两行在换行 超出…显示
data 你的表格数据中:

        {
          title: '申请描述',
          key: 'name',
          width: '300px',
          render: (h, { row }) => {
            return h('div', { class: 'textClass' }, [
              h(
                'Tooltip',
                {
                  props: {
                    placement: 'top',
                    name: 'true',
                    content: row.name,
                  },
                },
                row.name
              ),
            ]);
          },
        },

css 两行在换行显示

.textClass {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  box-orient: vertical;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  max-height:42px
}

注意了!!!
后来又发现了个问题, 文字直接给溢出去了,提示文字只能根据你整列的宽度去显示文字
所以又写了第二种代码 如下所示:

table中文字溢出隐藏,提示气泡展示所有信息
        {
          title: '申请描述',
          key: 'name',
          width: '240px',
          render: (h, params) => {
            // 处理文字,溢出用点代替
            let txt = params.row[params.column.key];
            let name = null;
            if (txt) {
              if (txt.length > params.name) {
                params.name = txt.substring(0, params.name) + '.....';
              } else {
                params.name = txt;
              }
            }
            return h('div', { class: 'textClass' }, [
              h(
                'Tooltip',
                {
                  props: {
                    placement: 'top',
                    content: params.name,
                    transfer: true,
                  },
                },
                [
                  params.name,
                  h(
                    'span',
                    {
                      slot: 'content',
                      style: { whiteSpace: 'normal', wordBreak: 'break-all' },
                    },
                    txt
                  ),
                ]
              ),
            ]);
          },
          // render: (h, { row }) => {
          //   return h('div', { class: 'textClass' }, [
          //     h(
          //       'Tooltip',
          //       {
          //         props: {
          //           placement: 'top',
          //           transfer: true,
          //           content: row.name,
          //         },
          //       },
          //       row.name
          //     ),
          //   ]);
          // },
        },

最终效果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vwi2D3FK-1639107333643)(https://img-blog.csdnimg.n/3706abe1a0954e64913665067c9bc468.png)]
在这里插入图片描述

完美解决 之后遇到iview的踩坑会多多记录的~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值