element Transfer 穿梭框 内容太长显示不全,鼠标移动上去显示全部

一,概述

element Transfer 穿梭框 内容太长显示不全,现在想要实现的功能是鼠标移动上去时显示tootips。
在这里插入图片描述

二,实现思路

查看了官网,没有提供tootips的方式实现,也没有提供mouseover的方法。只有一个render-content 自定义数据项。但是说需要额外安装依赖,这个就要比较麻烦了,还不如自己实现。
于是想到dom元素的title属性。

title 属性规定关于元素的额外信息。
这些信息通常会在鼠标移到元素上时显示一段工具提示文本(tooltip text)

于是就可以想到,我们手动使用native绑定mouseover事件,然后在这个元素项上增加内容的title。

三,实现代码

穿梭框:

 <el-transfer  @mouseover.native="addTitle" ></el-transfer>

js代码:

 addTitle(e) {
      // 手动给鼠标滑过的元素加一个title
      let target_el = e.target;
      if (target_el.title) return;
      target_el.title = target_el.innerText;
    }

实现的效果:
在这里插入图片描述

四,作用域插槽实现

刚写完,翻了翻文档,又看到一种更好一丢丢的实现方案,原来element有里面内容的作用域插槽。
这时候可以这样写:

<el-transfer >
    <span slot-scope="{ option }">
      <el-tooltip
        class="item"
        effect="dark"
        :content="option.CAMPUS_NAME"
        placement="left"
      >
        <span>{{ option.CAMPUS_NAME }}</span>
      </el-tooltip>
    </span>
  </el-transfer>

实现的效果:
在这里插入图片描述

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值