iview tooltip: true和render冲突的问题

在用iview开发表格的过程中,发现鼠标提示 和无数据 – 显示两个功能不能同时表现出来,代码如下

tooltip: true,
align: 'center',
render: (h, params) = >{
    if (params.row.company == null || params.row.company == undefined || params.row.company == '') {
        return h('div', '--')
    } else {
        return h('div', params.row.company)
    }
}
//这样写只有无数据 -- 会表现出来,tooltip: true失效

尝试多种方法,最终找到解决方案:

html写入鼠标悬浮提示文字内容

<tooltip placement="bottom"> 
   <button>Multiple lines</button> 
   <div slot="content" style="white-space: normal;"> 
   </div> 
 </tooltip>

js部分

{
    title: '结束时间',
    key: 'endTime',
    align: 'center',
    render: (h, params) = >{
        let texts = '--'; //表格列显示文字
        if (params.row.endTime) {
            if (params.row.endTime.length > 20) { //进行截取列显示字数
                texts = params.row.endTime.substring(0, 20) + ".....";
            } else {
                texts = params.row.endTime;
            }
        } else {
            texts = '--'
        }
        return h('div', [h('Tooltip', {
            props: {
                placement: 'bottom',
                transfer: true //是否将弹层放置于 body 内
            },
            style: {
                cursor: 'pointer',
            }
        },
        [ //这个中括号表示是Tooltip标签的子标签
        texts, //表格列显示文字
        h('div', {
            slot: 'content',
            style: {
                whiteSpace: 'normal'
            }
        },
        params.row.endTime //整个的信息即气泡内文字
        )])]);
    }
}

至此大功告成
实现的功能:
1.文字超出省略显示。
2.鼠标悬浮文字位置提示全部信息内容。
3.没有信息用 – 代替。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值