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比较文档位置
Apr 08 Javascript
TextArea设置MaxLength属性最大输入值的js代码
Dec 21 Javascript
JS分页效果示例
Oct 11 Javascript
一个js导致的jquery失效问题的解决方法
Nov 27 Javascript
javascript中String对象的slice()方法分析
Dec 20 Javascript
jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等)
Apr 18 Javascript
基于JS实现EOS隐藏错误提示层代码
Apr 25 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
May 25 Javascript
canvas滤镜效果实现代码
Feb 06 Javascript
Vue-component全局注册实例
Sep 06 Javascript
小程序Request的另类用法详解
Aug 09 Javascript
Javascript类型判断相关例题及解析
Aug 26 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
ZF等常用php框架中存在的问题
2008/01/10 PHP
php实现的发送带附件邮件类实例
2014/09/22 PHP
深入浅析php中sprintf与printf函数的用法及区别
2016/01/08 PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
2019/04/17 PHP
javascript json2 使用方法
2010/03/16 Javascript
AJAX分页的代码(后台asp.net)
2011/02/14 Javascript
Prototype源码浅析 String部分(一)之有关indexOf优化
2012/01/15 Javascript
将Datatable转化成json发送前台实现思路
2013/09/06 Javascript
jQuery Validate初步体验(二)
2015/12/12 Javascript
JavaScript中windows.open()、windows.close()方法详解
2016/07/28 Javascript
ES6中Math对象的部分扩展
2017/02/20 Javascript
微信小程序多张图片上传功能
2017/06/07 Javascript
小程序scroll-view组件实现滚动的示例代码
2018/09/20 Javascript
5分钟教你用nodeJS手写一个mock数据服务器的方法
2019/09/10 NodeJs
python教程之用py2exe将PY文件转成EXE文件
2014/06/12 Python
python魔法方法-自定义序列详解
2016/07/21 Python
Python数据结构与算法之图的基本实现及迭代器实例详解
2017/12/12 Python
python利用smtplib实现QQ邮箱发送邮件
2020/05/20 Python
Python3中urlencode和urldecode的用法详解
2019/07/23 Python
Python Django 实现简单注册功能过程详解
2019/07/29 Python
Python Mock模块原理及使用方法详解
2020/07/07 Python
咖啡为什么会有酸味?你喝到的咖啡為什麼是酸的?
2021/03/17 冲泡冲煮
解决img标签上下出现间隙的方法
2016/12/14 HTML / CSS
太阳镜仓库,售价20美元或更少:Sunglass Warehouse
2016/09/28 全球购物
June Jacobs尊积帕官网:知名的spa水疗护肤品牌
2019/03/21 全球购物
Doyoueven官网:澳大利亚健身服饰和配饰品牌
2019/03/24 全球购物
伦敦最受欢迎的蛋糕店:Konditor & Cook
2019/11/01 全球购物
乌克兰珠宝大卖场:Zlato.ua
2020/09/27 全球购物
POS解决方案:MUNBYN(热敏打印机、条形码扫描仪)
2020/06/09 全球购物
舞蹈比赛获奖感言
2014/02/04 职场文书
车间主任岗位职责
2014/03/16 职场文书
廉洁家庭事迹材料
2014/05/15 职场文书
会计人员演讲稿
2014/09/11 职场文书
毕业欢送会致辞
2015/07/29 职场文书
2019学生会干事辞职信
2019/06/27 职场文书
MYSQL 的10大经典优化案例场景实战
2021/09/14 MySQL