el-tooltip设置文字溢出时展示否则不展示

改写el-tooltip使其支持文字溢出时展示否则不展示,而不是需要使用js设置单独控制

新建 src/utils/rewriteElTooltip.js (一模一样 cv就行)

javascript 复制代码
export default function rewriteElTooltip(el) {
  el.props = {
    ...el.props,
    overflow: Boolean, // 为el-tooltip追加名为'overflow'的props属性
  };
  el.methods = {
    ...el.methods,
    // 重写el-tooltip的show方法
    show() {
      // 如果设置了overflow,则判断文字是否溢出,若未溢出则不显示tooltip
      if (this.overflow) {
        if (this.$el.scrollWidth <= this.$el.clientWidth) return;
      }
      // el-tooltip自带的,保留
      this.setExpectedState(true);
      this.handleShowPopper();
    },
  };
}

main.js 中

javascript 复制代码
import Element, { Tooltip } from "element-ui";
import "element-ui/lib/theme-chalk/index.css";
import rewriteElTooltip from "@/utils/rewriteElTooltip";
rewriteElTooltip(Tooltip); // 重写el-tooltip的方法 注意一定要放在 Vue.use(ElementUI); 之前
Vue.use(Element);

使用: 添加 overflow 属性即可

javascript 复制代码
<el-tooltip
              overflow
              effect="dark"
              :content="
                (formData.diseaseLocation ? formData.diseaseLocation : '') +
                (formData.diseaseInformation ? formData.diseaseInformation : '')
              "
              placement="top-start"
            >
              <div class="dialog-box-title">
                {{ formData.diseaseLocation }}{{ formData.diseaseInformation }}
              </div>
            </el-tooltip>
相关推荐
kerli1 天前
Compose 组件:BoxWithConstraints作用及其原理
android·前端
LovroMance1 天前
消息总线 + 可插拔的消息插件管理系统
前端
Lee川1 天前
React Router 实战指南:构建现代化前端路由系统
前端·react.js·架构
薛纪克1 天前
前端自动化测试的 Spec 模式:用 Kiro Power 实现从需求到脚本的全链路自动化
前端·自动化测试·ai·kiro
YAwu111 天前
HTML语义化渲染与CSS优先级机制的技术解析
前端
MgArcher1 天前
Python高级特性:filter() 函数完全指南
前端·后端
han_1 天前
JavaScript设计模式(十):模板方法模式实现与应用
前端·javascript·设计模式
二进制person1 天前
JavaEE进阶 --HTML+CSS+JavaScript 基础
javascript·css·html
得物技术1 天前
立正请站好:一个组件复用 Skill 的工程化实践|得物技术
前端·架构·ai编程
fīɡЙtīиɡ ℡1 天前
【SpringAi最新版入门(二)】
java·javascript·css·人工智能·css3