element-ui table表格 文字过长 实现el-tooltip文字提示换行效果

一、table超出两行显示省略号并提示

// html片段
<el-table-column class-name="pig-farm_border-right" prop="remark" label="备注">
	<template slot-scope="scope">
	<!-- tips悬浮提示 -->
		<el-tooltip
			popper-class="my-tooltip"
			placement="top"
			v-model="scope.row.showTooltip"
			:open-delay="500"
			effect="dark"
			:disabled="!scope.row.showTooltip"
		>
			<div slot="content">{{scope.row.remark}}</div>
			<div @mouseenter="showTips($event,scope.row)" class='myNote'>{{scope.row.remark}}</div>
		</el-tooltip>
	</template>
</el-table-column>

// js片段
// 超出两行tooltip提示
showTips(obj, row){
	/*obj为鼠标移入时的事件对象*/
	/*currentWidth 为文本在页面中所占的宽度,创建标签,加入到页面,获取currentWidth ,最后在移除*/
	let TemporaryTag = document.createElement('span');
	TemporaryTag.innerText = row.remark;
	TemporaryTag.className = 'getTextWidth';
	document.querySelector('body').appendChild(TemporaryTag);
	let currentWidth = document.querySelector('.getTextWidth').offsetWidth;
	document.querySelector('.getTextWidth').remove();
	/*cellWidth为表格容器的宽度*/
	const cellWidth = obj.target.offsetWidth
	/*当文本宽度小于||等于容器宽度两倍时,代表文本显示未超过两行*/
	currentWidth <= (2*cellWidth) ? row.showTooltip = false : row.showTooltip = true
},

//CSS片段
.myNote{
	display:-webkit-box;
	text-overflow:ellipsis;
	overflow:hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient:vertical;
}

.my-tooltip {
	max-width: 500px;
}

.my-tooltip .el-tooltip_content {
	white-space: pre-wrap;
	word-wrap: break-word;
}

效果图如下

在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值