首页 > 其他分享 >vue单行文本溢出裁切省略号鼠标移入展示详细信息的功能

vue单行文本溢出裁切省略号鼠标移入展示详细信息的功能

时间:2023-01-29 18:34:09浏览次数:45  
标签:el vue 裁切 省略号 srcElement 移入 溢出 鼠标

近期开发,遇到了个需求,要求内容超长时,不换行溢出裁切,显示省略号,鼠标移入时能看到他的详细信息

需求够简单,但如何判断内容是否有溢出裁切过,确成了知识盲点了

经百度调研,发现, 可以拿dom结构的clientWidth和scrollWidth进行对比,若前者小于后者,则说明有溢出裁切

因此:

方案1: 在鼠标移入(@mouseenter)时,拿到e.srcElement下的内容, 判断当  e.srcElement.clientWidth < e.srcElement.scrollWidth  时, 设置  e.srcElement.title = e.srcElement.innerHTML  即可

方案2: 通过自定义指令来操作

directives: {
    ellipsis: {
        inserted: function (el, binding) {
            el.style.overflow = "hidden"; // 样式赋值
            el.style.textOverflow = "ellipsis";
            el.style.whiteSpace = "nowrap";
            if (el.clientWidth < el.scrollWidth) { // 判断是否溢出裁切
              el.title = el.innerHTML;
            }
        },
    },
}

使用通过 v-ellipsis 来使用即可(注意别忘了溢出裁切需要限制宽度,在标签样式内赋值即可)

 

---- 注: 此处的显示全部信息是用的原生title提醒,样式可能略丑,有新要求的可以再此基础上进行调整

标签:el,vue,裁切,省略号,srcElement,移入,溢出,鼠标
From: https://www.cnblogs.com/workJiang/p/17073568.html

相关文章

  • vue中多行(单行)文本溢出才会出现提示的自定义指令
     //以下代码可以直接粘贴进自己的`.vue`文件中查看效果<template><divclass="parent"><h3>标题</h3><divclass="child"v-ellipsis="3">{{msg......
  • Vue 指定目录下的组件注册为全局组件
    //index.jsimportVuefrom'vue'constrequireComponent=require.context( //组件的相对路径 './', //是否查询其子目录 true, //匹配基础组件......
  • JavaWeb-VUE&Element
    JavaWeb-VUE&Element1,VUE1.1概述Vue是一套前端框架,免除原生JavaScript中的DOM操作,简化书写。Mybatis是用来简化jdbc代码编写的;而VUE是前端的框架,是用来简化Ja......
  • Error: error:0308010C:digital envelope routines::unsupported(vue2项目报错)
    问题描述在终端输入 npmrundev 命令,项目运行报错Error:error:0308010C:digitalenveloperoutines::unsupported问题原因node 版本过高,可以在命令行 输入......
  • DataGear 制作基于Vue2、Element UI前端框架的数据可视化看板
    DataGear数据可视化看板内置了一些基本、简单的页面交互组件,当它们无法满足实际看板需求时,可以引入更流行和强大的前端框架。本文以Vue2、ElementUI前端框架为例,介绍如......
  • 面试--Vue
    1.你对MVVM是怎么理解的?MVVM是Model-View-ViewModel缩写。Model层代表数据模型,View代表视图层,ViewModel是MVVM的核心,它是连接View和Model层的桥梁,数据会绑定到viewMod......
  • vue表单校验必填项
    1.要求在做一些用户信息相关的功能时,经常用到表单项去收集数据,其中有些属性必须填写,2.实现方法在data中添加一个rules来规定:rules:{no:[{required:true,......
  • GFast V3.2.1 版本发布,采用 GoFrame 2.3 + Vue3 后台管理系统
    平台简介基于全新GoFrame2.3+Vue3+ElementPlus开发的全栈前后端分离的管理系统前端采用vue-next-admin、Vue、ElementUI。特征高生产率:几分钟即可搭建一个后台管......
  • vue3+betterScroll scroll滚动组件
    betterScroll在MVVM框架中使用时最麻烦的是更新时机,一般的需要滚动的列表数据都是来源于后端,是异步的。就必须要渲染完后refresh()一下。但是单独的Scroll组件是通过插槽放......
  • vue-3 this概念
    一、this概念官方是这样说的:在 setup()内部,this不会是该活跃实例的引用因为setup()是在解析其它组件选项之前被调用的,所以setup()内部的this的行为与其它选项中......