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 相关文章推荐
jquery中:input和input的区别分析
Jul 13 Javascript
JS 仿腾讯发表微博的效果代码
Dec 25 Javascript
javascript 事件处理示例分享
Dec 31 Javascript
javascript实现了照片拖拽点击置顶的照片墙代码
Apr 03 Javascript
浅谈下拉菜单中的Option对象
May 10 Javascript
jQuery实现图片预加载效果
Nov 27 Javascript
BootStrap的双日历时间控件使用
Jul 25 Javascript
jQuery滚动条美化插件nicescroll简单用法示例
Apr 18 jQuery
vue左侧菜单,树形图递归实现代码
Aug 24 Javascript
vue实现条件叠加搜索的解决方法
May 28 Javascript
重置Redux的状态数据的方法实现
Nov 18 Javascript
JS Object构造函数之Object.freeze
Apr 28 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
Laravel使用memcached缓存对文章增删改查进行优化的方法
2016/10/08 PHP
php封装的page分页类完整实例
2016/10/18 PHP
php从身份证获取性别和出生年月
2017/02/09 PHP
PHP的介绍以及优势详细分析
2019/09/05 PHP
JavaScript使用setInterval()函数实现简单轮询操作的方法
2015/02/02 Javascript
jquery动态改变div宽度和高度
2015/02/09 Javascript
javascript伸缩型菜单实现代码
2015/11/16 Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
2015/11/25 Javascript
bootstrap实现弹窗和拖动效果
2016/01/03 Javascript
详解Javascript中prototype属性(推荐)
2016/09/03 Javascript
jQuery实现的tab标签切换效果示例
2016/09/05 Javascript
js手动播放图片实现图片轮播效果
2016/09/17 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
angular中的http拦截器Interceptors的实现
2017/02/21 Javascript
深入理解Vue-cli搭建项目后的目录结构探秘
2017/07/13 Javascript
JS 仿支付宝input文本输入框放大组件的实例
2017/11/14 Javascript
Layui Table js 模拟选中checkbox的例子
2019/09/03 Javascript
[03:17]DOTA2-DPC中国联赛1月29日Recap集锦
2021/03/11 DOTA
python读取json文件并将数据插入到mongodb的方法
2015/03/23 Python
python链接Oracle数据库的方法
2015/06/28 Python
详解python实现读取邮件数据并下载附件的实例
2017/08/03 Python
Python字符串格式化的方法(两种)
2017/09/19 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
2018/01/05 Python
django 将model转换为字典的方法示例
2018/10/16 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
解决python有时候import不了当前的包问题
2019/08/28 Python
pycharm 设置项目的根目录教程
2020/02/12 Python
在服务器上安装python3.8.2环境的教程详解
2020/04/26 Python
实例讲解CSS3中的box-flex弹性盒属性布局
2016/06/09 HTML / CSS
Interflora澳大利亚:同日鲜花速递
2019/06/25 全球购物
学生拾金不昧表扬信
2014/01/21 职场文书
应届毕业生简历自我评价
2014/01/31 职场文书
新年联欢会主持词
2014/03/27 职场文书
2014年公务员个人工作总结
2014/11/22 职场文书
行政申诉状范文
2015/05/20 职场文书
重阳节主题班会
2015/08/17 职场文书