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得到XML某节点的子节点个数的脚本
Oct 11 Javascript
JavaScript 高级语法介绍
Jun 15 Javascript
JQuery优缺点分析说明
Apr 10 Javascript
JavaScript事件委托技术实例分析
Feb 06 Javascript
轻松学习jQuery插件EasyUI EasyUI创建CRUD应用
Nov 30 Javascript
Bootstrap Chart组件使用教程
Apr 28 Javascript
老生常谈 关于JavaScript的类的继承
Jun 24 Javascript
Bootstrap table两种分页示例
Dec 23 Javascript
ECMAScript6--解构
Mar 30 Javascript
Vue 理解之白话 getter/setter详解
Apr 16 Javascript
解决vue的过渡动画无法正常实现问题
Oct 31 Javascript
基于VUE实现简单的学生信息管理系统
Jan 13 Vue.js
这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
3种平台下安装php4经验点滴
2006/10/09 PHP
PHP中文汉字验证码
2007/04/08 PHP
PHP 基本语法格式
2009/12/15 PHP
深入PHP5中的魔术方法详解
2013/06/17 PHP
深入解析PHP中的(伪)多线程与多进程
2013/07/01 PHP
PHP中返回引用类型的方法
2015/04/03 PHP
PHP中SSO Cookie登录分析和实现
2015/11/06 PHP
用Javascript实现UTF8编码转换成gb2312编码
2006/12/22 Javascript
jQuery EasyUI NumberBox(数字框)的用法
2010/07/08 Javascript
JS性能优化笔记搜索整理
2013/08/21 Javascript
ajax提交表单实现网页无刷新注册示例
2014/05/08 Javascript
JavaScript function函数种类详解
2016/02/22 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
2016/03/01 Javascript
javascript中数组和字符串的方法对比
2016/07/20 Javascript
NodeJS配置HTTPS服务实例分享
2017/02/19 NodeJs
Node.js编写CLI的实例详解
2017/05/17 Javascript
Node.js  事件循环详解及实例
2017/08/06 Javascript
详解javascript void(0)
2020/07/13 Javascript
[02:03]完美世界DOTA2联赛10月30日赛事集锦
2020/10/31 DOTA
解决python-docx打包之后找不到default.docx的问题
2020/02/13 Python
python查找特定名称文件并按序号、文件名分行打印输出的方法
2020/04/24 Python
Python安装Bs4的多种方法
2020/11/28 Python
HTML5 微格式和相关的属性名称
2010/02/10 HTML / CSS
西班牙网上书店:Casa del Libro
2016/11/01 全球购物
巴西购物网站:Estrela10
2018/12/13 全球购物
银行门卫岗位职责
2013/12/29 职场文书
六十岁生日答谢词
2014/01/10 职场文书
长城导游词300字
2015/01/30 职场文书
公司副总经理岗位职责
2015/04/08 职场文书
2015暑期社会实践调查报告
2015/07/14 职场文书
致创业的您:这类人不适合餐饮创业
2019/08/19 职场文书
创业计划书之淘宝网店
2019/10/08 职场文书
python实现大文本文件分割成多个小文件
2021/04/20 Python
CSS3中Animation实现简单的手指点击动画的示例
2021/07/15 HTML / CSS
Win7/8.1用户可以免费升级到Windows 11系统吗?
2021/11/21 数码科技
Smart 2 车辆代号 HC11 全新谍照曝光
2022/04/21 数码科技