vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)


Posted in Javascript onNovember 12, 2020

vue项目开发的过程中,如果需要文字溢出的dom元素鼠标悬浮时才显示title文字的话,可以封装一个自定义的指令。

方法一、

组件内代码如下:

directives: {
  title: {
   inserted(el) {
    const { clientWidth, scrollWidth, title } = el;
    if (!title && scrollWidth > clientWidth) el.title = el.innerText;
   }
  }
 },

使用:

<article v-title>修修的铁拳修修的铁拳修修的铁拳修修的铁拳修修的铁拳</article>

方法二、

或者鼠标进入后dom后方法处理,方法如下:

titeEnter(e) {
   const target = e.target;
   const { clientWidth, scrollWidth, title } = target;
   if (!title && scrollWidth > clientWidth) target.title = target.innerText;
  },

使用:

<article @mouseenter="titleEnter">修修的铁拳修修的铁拳修修的铁拳修修的铁拳修修的铁拳</article>

补充知识:vue页面文本过长显示...鼠标悬停显示全文本

项目使用vue+element UI,列表页面修改某一列的样式,这一列的文本过长,在表格中会自动换行,会将表格撑大,影响页面美观,需求就是让文本显示超过长度后面显示…,鼠标移上去后显示全文本,网上可以使用:cell-style修改,但是在我的webstorm中,都没有这个属性提示,不过有:row-style属性,这个很明显是修改行的样式,后来发现有这么一个属性值可以完美解决这个问题。

vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)

还有一个类似的需求,文本过长显示…,鼠标移上去之后,显示全文本,可以给这个属性上面增加样式:style=“text-overflow: ellipsis; overflow: hidden” 然后增加 :title="item2.modelName"属性和值,可以解决这个问题。

vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)

以上这篇vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery Lightbox 图片展示插件使用说明
Apr 25 Javascript
Document对象内容集合(比较全)
Sep 06 Javascript
JQuery文本框高亮显示插件代码
Apr 02 Javascript
dojo学习第二天 ajax异步请求之绑定列表
Aug 29 Javascript
整理Javascript数组学习笔记
Nov 29 Javascript
jQuery webuploader分片上传大文件
Nov 07 Javascript
JS正则截取两个字符串之间及字符串前后内容的方法
Jan 06 Javascript
js CSS3实现卡牌旋转切换效果
Jul 04 Javascript
基于zTree树形菜单的使用实例
Dec 25 Javascript
解决低版本的浏览器不支持es6的import问题
Mar 09 Javascript
element UI upload组件上传附件格式限制方法
Sep 04 Javascript
详细分析JavaScript中的深浅拷贝
Sep 17 Javascript
解决vuex刷新数据消失问题
Nov 12 #Javascript
微信小程序对图片进行canvas压缩的方法示例详解
Nov 12 #Javascript
解决vuex改变了state的值,但是页面没有更新的问题
Nov 12 #Javascript
javascript实现搜索筛选功能实例代码
Nov 12 #Javascript
vue实现两个组件之间数据共享和修改操作
Nov 12 #Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
Nov 12 #Javascript
vue打包通过image-webpack-loader插件对图片压缩优化操作
Nov 12 #Javascript
You might like
全国FM电台频率大全 - 16 河南省
2020/03/11 无线电
php 时间计算问题小结
2009/01/04 PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
2015/06/03 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
2018/02/06 PHP
tp5(thinkPHP5框架)使用DB实现批量删除功能示例
2019/05/28 PHP
laravel7学习之无限级分类的最新实现方法
2020/09/30 PHP
jQuery 操作下拉列表框实现代码
2010/02/22 Javascript
JavaScript代码编写中各种各样的坑和填坑方法
2014/06/06 Javascript
javascript实现显示和隐藏div方法汇总
2015/08/14 Javascript
JavaScript函数的一些注意要点小结及js匿名函数
2015/11/10 Javascript
jQuery筛选数组之grep、each、inArray、map的用法及遍历json对象
2016/06/20 Javascript
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
2017/01/17 Javascript
详解jquery validate实现表单验证 (正则表达式)
2017/01/18 Javascript
jQuery实现通过方向键控制div块上下左右移动的方法【测试可用】
2018/04/26 jQuery
Vue中对比scoped css和css module的区别
2018/05/17 Javascript
微信小程序实现运动步数排行功能(可删除)
2018/07/05 Javascript
vue使用recorder.js实现录音功能
2019/11/22 Javascript
使用vue-cli3+typescript的项目模板创建工程的教程
2020/02/28 Javascript
如何在VUE中使用vue-awesome-swiper
2021/01/04 Vue.js
[01:39](回顾)各路豪强针锋相对,几经鏖战四强产生
2014/07/01 DOTA
[43:35]EG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
使用Python脚本在Linux下实现部分Bash Shell的教程
2015/04/17 Python
详解Python3中setuptools、Pip安装教程
2019/06/18 Python
python3实现猜数字游戏
2020/12/07 Python
python中while和for的区别总结
2019/06/28 Python
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
2019/07/04 Python
Python实现某论坛自动签到功能
2019/08/20 Python
python交互模式基础知识点学习
2020/06/18 Python
HTML5新增的Css选择器、伪类介绍
2013/08/07 HTML / CSS
中国海淘族值得信赖的海淘返利网站:55海淘
2017/01/16 全球购物
印度尼西亚最大和最全面的网络商城:Blibli.com
2017/10/04 全球购物
值类型与引用类型有什么不同?请举例说明?并分别列举几种相应的数据类型
2015/10/24 面试题
班长自荐书范文
2014/02/11 职场文书
公共场所禁烟标语
2014/06/25 职场文书
小学运动会前导词
2015/07/20 职场文书
清洁工工作总结
2015/08/11 职场文书