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 相关文章推荐
javascript之大字符串的连接的StringBuffer 类
May 08 Javascript
js日期对象兼容性的处理方法
Jan 28 Javascript
js对象转json数组的简单实现案例
Feb 28 Javascript
js图片卷帘门导航菜单特效代码分享
Sep 10 Javascript
剖析Node.js异步编程中的回调与代码设计模式
Feb 16 Javascript
Javascript基础回顾之(三) js面向对象
Jan 31 Javascript
js实现数组去重方法及效率?Ρ? target=
Feb 14 Javascript
Bootstrap表格使用方法详解
Feb 17 Javascript
Angular2使用Guard和Resolve进行验证和权限控制
Apr 24 Javascript
JS组件系列之MVVM组件 vue 30分钟搞定前端增删改查
Apr 28 Javascript
微信小程序搜索组件wxSearch实例详解
Jun 08 Javascript
ES6中异步对象Promise用法详解
Jul 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
汉字转化为拼音(php版)
2006/10/09 PHP
PHP连接和操作MySQL数据库基础教程
2014/09/29 PHP
JavaScript 对象成员的可见性说明
2009/10/16 Javascript
Jquery 表格合并的问题分享
2011/09/17 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
js生成缩略图后上传并利用canvas重绘
2014/05/15 Javascript
jQuery分别获取选中的复选框值的示例
2014/06/17 Javascript
jQuery在线选座位插件seat-charts特效代码分享
2015/08/27 Javascript
AngularJS入门教程之服务(Service)
2016/07/27 Javascript
JavaScript中三种常见的排序方法
2017/02/24 Javascript
使用jQuery实现动态添加小广告
2017/07/11 jQuery
原生JS实现Ajax跨域请求flask响应内容
2017/10/24 Javascript
关于JavaScript语句后面的分号问题
2017/12/07 Javascript
vue2.0+vuex+localStorage代办事项应用实现详解
2018/05/31 Javascript
[02:45]DOTA2英雄敌法师基础教程
2013/11/25 DOTA
[01:02:48]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 LGD vs OG
2018/04/02 DOTA
python实现zencart产品数据导入到magento(python导入数据)
2014/04/03 Python
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
Python导入oracle数据的方法
2015/07/10 Python
Python中matplotlib中文乱码解决办法
2017/05/12 Python
Python标准库之itertools库的使用方法
2017/09/07 Python
安装好Pycharm后如何配置Python解释器简易教程
2019/06/28 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
python实现密码强度校验
2020/03/18 Python
python中数字是否为可变类型
2020/07/08 Python
全球知名巧克力品牌:Godiva
2016/07/22 全球购物
Farfetch香港官网:汇集全球时尚奢侈品购物平台
2017/11/26 全球购物
香港万宁官方海外旗舰店:香港健与美连锁店
2018/09/27 全球购物
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
求职毕业生自荐书
2014/02/08 职场文书
学生会竞选演讲稿怎么写
2014/08/26 职场文书
MySQL中VARCHAR与CHAR格式数据的区别
2021/05/26 MySQL
详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)
2021/07/01 HTML / CSS
SQLServer常见数学函数梳理总结
2022/08/05 MySQL