vue控制多行文字展开收起的实现示例


Posted in Javascript onOctober 11, 2019

这里讲一下,如何使用vue控制多行文字展开收起(也叫控制文字展开隐藏)。

效果:

这里设置了控制三行,如果超过三行会展示,“显示更多” 超出文字显示省略号。点击“显示更多”会展开所有文案,按钮变成“收起”

vue控制多行文字展开收起的实现示例

(未超出三行的时候)

vue控制多行文字展开收起的实现示例

(展开)

vue控制多行文字展开收起的实现示例

(收起)

代码实现:

<template>
 <div>
  <p class="m-content overflow-line" id="J_description">{{introduce}}</p>
  <button type="button" class="btn-more" v-if="isShowMore" id="J_btnmore" @click="showmoreDesc($event)">查看更多</button>
 </div>
</template>
<script>
 export default {
  name: 'Spread',
  data() {
   return {
    isShowMore: false,
    isDescStatus: true,
    introduce: ""
   };
  },
  props: {
   mes2: {
    type: String,
    default: ""
   }
  },
  methods: {
   showmoreDesc(e) {
    let el = e.currentTarget;
    el.previousElementSibling.classList[!this.isDescStatus ? 'add' : 'remove']('overflow-line');
    el.classList[this.isDescStatus ? 'add' : 'remove']('more-collapse');
    el.innerHTML = !this.isDescStatus ? '查看更多' : '收起';
    this.isDescStatus = !this.isDescStatus;
    that.isShowMore = true;
   }
  },
  watch: {
   mes2(val) {
    this.introduce = val;
    if (this.introduce.length > 75) {
     this.isShowMore = true;
    }
   }
  }
 };
</script>

<style lang="less" scoped>
 .m-content {
  &.overflow-line {
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 3;
   overflow: hidden;
  }
 }

 .btn-more {
  color: #fff;
  float: right;
  color: #5383E7;
  position: relative;
  margin-top: rc(5);
  padding-right: rc(33);

  &.more-collapse {

   &::after,
   &::before {
    top: 2px;
    transform: rotate(180deg);
   }

   &::before {
    top: 4px;
   }
  }

  &::after,
  &::before {
   width: 0;
   height: 0;
   content: '';
   position: absolute;
   right: 0;
   top: 7px;
   border: rc(12) solid transparent;
  }

  &::after {
   border-top-color: #5383E7;
   z-index: 1;
  }

  &::before {
   border-top-color: #1c2239;
   z-index: 2;
   top: 5px;
  }

 }
</style>

使用组件

<Spread :mes2="需要传递的文字数据"></Spread>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js计数器代码
Nov 04 Javascript
Jquery中增加参数与Json转换代码
Nov 20 Javascript
js textarea自动增高并隐藏滚动条
Dec 16 Javascript
jQuery 位置函数offset,innerWidth,innerHeight,outerWidth,outerHeight,scrollTop,scrollLeft
Mar 23 Javascript
JavaScript 笔记二 Array和Date对象方法
May 22 Javascript
用JavaScript实现PHP的urlencode与urldecode函数
Aug 13 Javascript
Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
Jun 28 Javascript
举例讲解jQuery对DOM元素的向上遍历、向下遍历和水平遍历
Jul 07 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
Aug 29 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
Sep 08 Javascript
基于jQuery实现简单人工智能聊天室
Feb 10 Javascript
使用webpack搭建vue环境的教程详解
Dec 31 Javascript
这15个Vue指令,让你的项目开发爽到爆
Oct 11 #Javascript
js脚本中执行java后台代码方法解析
Oct 11 #Javascript
基于js实现复制内容到操作系统粘贴板过程解析
Oct 11 #Javascript
ES6之Proxy的get方法详解
Oct 11 #Javascript
vue组件 keep-alive 和 transition 使用详解
Oct 11 #Javascript
jquery将json转为数据字典的实例代码
Oct 11 #jQuery
JavaScript实现抖音罗盘时钟
Oct 11 #Javascript
You might like
提问的智慧
2006/10/09 PHP
解析PHP高效率写法(详解原因)
2013/06/20 PHP
Php无限级栏目分类读取的实现代码
2014/02/19 PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
2014/10/20 PHP
nodejs的require模块(文件模块/核心模块)及路径介绍
2013/01/14 NodeJs
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
JQuery对id中含有特殊字符的转义处理示例
2013/09/06 Javascript
值得分享的轻量级Bootstrap Table表格插件
2016/05/30 Javascript
Jquery组件easyUi实现表单验证示例
2016/08/23 Javascript
微信小程序 实现拖拽事件监听实例详解
2016/11/16 Javascript
jQuery ajax请求struts action实现异步刷新
2017/04/19 jQuery
JS模拟超市简易收银台小程序代码解析
2017/08/18 Javascript
bootstrap 弹出框modal添加垂直方向滚轴效果
2018/07/09 Javascript
JavaScript时间日期操作实例小结【5个示例】
2018/12/22 Javascript
在 Vue.js中优雅地使用全局事件的方法
2019/02/01 Javascript
在项目vue中使用echarts的操作步骤
2020/09/07 Javascript
[01:32]2016国际邀请赛中国区预选赛IG战队首日赛后采访
2016/06/27 DOTA
[01:32]2016国际邀请赛中国区预选赛CDEC战队教练采访
2016/06/26 DOTA
python网络编程学习笔记(六):Web客户端访问
2014/06/09 Python
wxPython之解决闪烁的问题
2018/01/15 Python
python数字图像处理之高级形态学处理
2018/04/27 Python
用python简单实现mysql数据同步到ElasticSearch的教程
2018/05/30 Python
Python使用dict.fromkeys()快速生成一个字典示例
2019/04/24 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
2020/04/16 Python
python 制作python包,封装成可用模块教程
2020/07/13 Python
MADE法国:提供原创设计师家具
2018/09/18 全球购物
Charlotte Tilbury澳大利亚官网:英国美妆品牌
2018/10/05 全球购物
电影T恤、80年代T恤和80年代服装:TV Store Online
2020/01/05 全球购物
安卓程序员求职信
2014/02/28 职场文书
2014新课程改革心得体会
2014/03/10 职场文书
2015应届毕业生求职信范文
2015/03/20 职场文书
2016年6月份红领巾广播稿
2015/12/21 职场文书
《折线统计图》教学反思
2016/02/22 职场文书
关于python爬虫应用urllib库作用分析
2021/09/04 Python
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
2021/10/16 Python
Python保存并浏览用户的历史记录
2022/04/29 Python