修改Element-plus Table内容过长自定义show-overflow-tooltip

修改Element-plus Table内容过长自定义show-overflow-tooltip

展示效果如下
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/47d10db2116a4c35bbece3725bcec225.png
因为table自带的show-overflow-tooltip属性没有办法去控制,我就使用element-plus Tooltip文字提示去实现的,通过mouseenter和mouseleave去控制 Tooltip的显示隐藏
代码展示如下

<template>
  <!-- table标签展示组件 -->
  <el-table-column prop="tag" :label="props.text" width="300">
    <template #default="{ row }">
    // 通过对应字段控制显示隐藏
      <el-tooltip raw-content :visible="row.isLabel" >
       // row.tagDetailVOS为需要循环的数组 这个class很重要 
        <div class="label-superior" @mouseenter="(event)=>handleMouseEnter(event,row)"  @mouseleave="()=>handleMouseLeave(row)">
        // 为页面展示在table内容
          <span
            class="venuesLabel"
            v-for="item in row.tagDetailVOS && row.tagDetailVOS"
            :key="item.id"
          >
            {{ item.tagName }} 
          </span>
          
        </div>
        // 此插槽为展示鼠标放上去的内容
        <template #content>
          <div class="content">
            <span
              class="venuesLabel"
              v-for="item in row.tagDetailVOS && row.tagDetailVOS"
              :key="item.id"
            >
              {{ item.tagName }}
            </span>
          </div>
        </template>
      </el-tooltip>
    </template>
  </el-table-column>
</template>
<script lang="ts" setup name="BaseTagDetail">
// 定义父组件传值类型
interface propsType {
	text: string
}

// 初始化父组件传参内容
const props = withDefaults(defineProps<propsType>(), {})
// 鼠标移入 进行计算展示
const handleMouseEnter=(el:any,content:any)=>{
		if (Number(el.target.clientWidth)>240) {
			content.isLabel=true

		}else{
			content.isLabel=false
			// content.isLabel=false
		}
		
	// });
}
// 鼠标离开隐藏
const handleMouseLeave=(content:any)=>{
	content.isLabel=false
			
}
</script>
<style lang="scss" scoped>
	.label-superior{
		display:inline-block;
		max-width:250px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
  .venuesLabel{
  display: inline-block;
    padding: 1px 6px;
    margin:0 10px 3px 0;
    font: 14px 'Alibaba PuHuiTi 2.0-55 Regular';
    background: #00D889;
    border: none;
    border-radius: 3px;
    box-shadow: none;
    color: #ffffff;
}
</style>
  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值