位置: IT常识 - 正文

vue 实现内容超出两行显示展开更多功能,可依据需求自定义任意行数!(vue super)

编辑:rootadmin
vue 实现内容超出两行显示展开更多功能,可依据需求自定义任意行数!

推荐整理分享vue 实现内容超出两行显示展开更多功能,可依据需求自定义任意行数!(vue super),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue能做超过一分钟的么,vue nedb,vue超时设置,vue实用技巧,vue最大时长是多少,vue super,vue能做超过一分钟的么,vue super,内容如对您有帮助,希望把文章链接给更多的朋友!

平时开发中我们经常会遇到这样的需求,在一个不限高度的盒子中会有很多内容,如果全部显示用户体验会非常不好,所以可以先折叠起来,当内容达到一定高度时,显示展开更多按钮,点击即可显示全部内容,先来看看效果图:

 这样做用户体验瞬间得到提升,接下来看看具体细节。

<div class="like-box" v-if="likeList.length>0"> <span class="like-triangle"></span> 主要操作在内容这里 <ul class="like-person" ref="content" :style="{ 'max-height': status ? textHeight : auto }" :class="{ statusText: status }"> <li class="person" v-for="(item,index) in likeList" :key="index" @click="personCenter"> <i class="iconfont icon-dianzan"></i> <span>{{item.username}}</span> <span>,</span> </li> </ul> <div @click="moreClick" v-if="isShowMore"> <div class="shenglue">……</div> <div class="more">展开更多</div> </div></div>vue 实现内容超出两行显示展开更多功能,可依据需求自定义任意行数!(vue super)

样式大家可依据自己项目需求进行设计,这里就不贴了,主要说几个关键的。

1、在data中定义三个属性

isShowMore: false,  // 控制展开更多的显示与隐藏

textHeight: null,  // 框中内容的高度

status: false,  // 内容状态是否打开

2. 计算内容是否超出两行

获取内容高度时要使用this.$nextTick()保证获取到的高度时DOM渲染完成后的高度

mounted () { // 计算展开更多内容超出显示 this.$nextTick(() => { // 这里具体行数可依据需求自定义 let lineHeight = 27 * 2 this.textHeight = `${lineHeight}px` if (this.$refs.content.offsetHeight > lineHeight) { this.isShowMore = true this.status = true } else { this.isShowMore = false this.status = false } })}3.给内容框绑定动态style和动态class

用status来判断,若为true,添加动态style,设置最大高度为2行内容的高度,相反高度auto,另外添加动态class,让内容为overflow: hidden,主要就是这两个样式在控制。最后给展开更多添加点击事件,隐藏自己。

.statusText { overflow: hidden; }

好啦,具体就是这样啦,挺简单的,好像我废话比较多,欢迎各位大佬随时指正! 

本文链接地址:https://www.jiuchutong.com/zhishi/287955.html 转载请保留说明!

上一篇:夜间潜水时发现的章鱼,夏威夷科纳附近 (© Jeff Milisen/Alamy)(夜间潜水时发现水体)

下一篇:数字马力前端笔试编程(数字马力前端笔试题rgb)

  • dou分期怎么关闭(DOU分期怎么关闭不了)

  • 荣耀30pro有电脑模式的吗(荣耀v30pro有电脑模式吗)

  • 华为nova4e是麒麟多少处理器(华为nova4是麒麟970处理器吗)

  • 计算机开机后首先执行的是什么程序(计算机开机后首先执行的是___(1)___程序)

  • 华为nova5的语音助手在哪里打开(华为nova5的语音助手叫什么)

  • 快手有赞订单申请退款多久到账(2021年快手有赞订单在哪里)

  • 影驰主板u盘启动按f几(影驰主板u盘启动按f9没反应)

  • 如何理解计算机组成和计算机体系结构(如何理解计算机组成中的冯诺依曼理论体系)

  • 红白黄哪个是音频线(红白黄哪个是声音)

  • 有锁版iphone值得买吗(苹果有锁机值不值得购买)

  • 苹果插耳机录屏没声音(苹果插耳机录屏怎么没声音)

  • 腾讯会议截屏主持人会知道吗(腾讯会议截屏主持人知道吗)

  • 苹果qq为何自动离线(苹果qq为何自动退出登录)

  • 华为nova6耳机插上没反应(华为nova6耳机插哪)

  • 什么是m站(m站是什么意思啊)

  • 苹果11充满电闪电不消失(苹果充满电闪电会消失吗)

  • 英文分号怎么打出来(英文中分号的使用方法)

  • 机房电脑怎么解除控制(机房电脑怎么解除控屏快捷键)

  • vivox27参数(vivox27参数配置详情 参数设置)

  • 淘宝跟客服发不了消息(淘宝跟客服发不出去信息)

  • 快手直播怎么看具体人数(快手直播怎么看在线人数)

  • 华为手机哪款有nfc功能吗(华为手机哪款有nfc功能)

  • 拼多多我的钱包在哪里(下载拼多多我的钱包)

  • 苹果11支持双卡吗?(苹果11支持双卡吗中国大陆)

  • 全民k歌视频有美颜吗(全民k歌视频模糊怎么办)

  • 手机反向充电伤电池吗(手机反向充电能给什么手机充电)

  • 华为hry一al00a是什么型号(华为hry 一al00a什么型号)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络