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系列(6) 强大的原型和原型链
Jan 15 Javascript
jQuery方法简洁实现隔行换色及toggleClass的使用
Mar 15 Javascript
用unescape反编码得出汉字示例
Apr 24 Javascript
jQuery中bind()方法用法实例
Jan 19 Javascript
js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)
Jul 18 Javascript
JS实现保留n位小数的四舍五入问题示例
Aug 03 Javascript
同步文本框内容JS代码实现
Aug 04 Javascript
如何在Angular.JS中接收并下载PDF
Nov 26 Javascript
three.js实现围绕某物体旋转
Jan 25 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
Apr 18 Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
Apr 24 Javascript
JS+CSS3实现的简易钟表效果示例
Apr 13 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
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
2009/03/13 PHP
php之curl实现http与https请求的方法
2014/10/21 PHP
PHP自动载入类文件函数__autoload的使用方法
2019/03/25 PHP
open 动态修改img的onclick事件示例代码
2013/11/13 Javascript
JS数组去重与取重的示例代码
2014/01/24 Javascript
JS实现简单路由器功能的方法
2015/05/27 Javascript
JavaScript实现多种排序算法
2016/02/24 Javascript
纯JS实现可拖拽表单的简单实例
2016/09/02 Javascript
火狐和ie下获取javascript 获取event的方法(推荐)
2016/11/26 Javascript
原生和jQuery的ajax用法详解
2017/01/23 Javascript
基于JavaScript实现轮播图原理及示例
2020/04/10 Javascript
JS实现商品筛选功能
2020/08/19 Javascript
微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下载】
2017/12/05 Javascript
Vue中添加手机验证码组件功能操作方法
2017/12/07 Javascript
three.js实现3D影院的原理的代码分析
2017/12/18 Javascript
使用webpack3.0配置webpack-dev-server教程
2018/05/29 Javascript
jQuery滑动效果实现方法分析
2018/09/05 jQuery
Javascript迭代、递推、穷举、递归常用算法实例讲解
2019/02/01 Javascript
vue中el-input绑定键盘按键(按键修饰符)
2020/07/22 Javascript
Python中列表list以及list与数组array的相互转换实现方法
2017/09/22 Python
python实现图片筛选程序
2018/10/24 Python
PyQt5 如何让界面和逻辑分离的方法
2020/03/24 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
django restframework serializer 增加自定义字段操作
2020/07/15 Python
pycharm全局搜索的具体步骤
2020/07/28 Python
如何用 Python 制作一个迷宫游戏
2021/02/25 Python
浅析CSS3 中的 transition,transform,translate之间区别和作用
2020/03/26 HTML / CSS
生产经理的自我评价分享
2013/11/07 职场文书
美容院考勤制度
2014/01/30 职场文书
酒店管理毕业生自我鉴定
2014/03/02 职场文书
团日活动总结怎么写
2014/06/25 职场文书
篮球友谊赛通讯稿
2014/10/10 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
毕业生对母校寄语
2015/02/26 职场文书
如何理解Vue简单状态管理之store模式
2021/05/15 Vue.js
Pytorch distributed 多卡并行载入模型操作
2021/06/05 Python