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 相关文章推荐
11款基于Javascript的文件管理器
Oct 25 Javascript
用jQuery实现一些导航条切换,显示隐藏的实例代码
Jun 08 Javascript
使用JS 清空File控件的路径值
Jul 08 Javascript
javascript中Function类型详解
Apr 28 Javascript
全面解析node 表单的图片上传
Nov 21 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
Mar 17 Javascript
Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
Sep 15 Javascript
animate.css在vue项目中的使用教程
Aug 05 Javascript
使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置
Nov 02 Javascript
vue基础之事件v-onclick=&quot;函数&quot;用法示例
Mar 11 Javascript
Vue项目总结之webpack常规打包优化方案
Jun 06 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
Oct 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
PHP rawurlencode与urlencode函数的深入分析
2013/06/08 PHP
PHP常用文件操作函数和简单实例分析
2016/06/03 PHP
PHP实现腾讯短网址生成api接口实例
2020/12/08 PHP
JavaScript isArray()函数判断对象类型的种种方法
2010/10/11 Javascript
重载toString实现JS HashMap分析
2011/03/13 Javascript
Jquery中Ajax 缓存带来的影响的解决方法
2011/05/19 Javascript
js和jquery如何获取图片真实的宽度和高度
2014/09/28 Javascript
跟我学习javascript的函数和函数表达式
2015/11/16 Javascript
js提交form表单,并传递参数的实现方法
2016/05/25 Javascript
node操作mysql数据库实例详解
2017/03/17 Javascript
vue事件修饰符和按键修饰符用法总结
2017/07/25 Javascript
jquery获取链接地址和跳转详解(推荐)
2017/08/15 jQuery
vue 取出v-for循环中的index值实例
2019/11/09 Javascript
[05:26]TI10典藏宝瓶套装外观展示
2020/07/03 DOTA
Python使用正则匹配实现抓图代码分享
2015/04/02 Python
python获取当前计算机cpu数量的方法
2015/04/18 Python
详解Python中用于计算指数的exp()方法
2015/05/14 Python
Python类的动态修改的实例方法
2017/03/24 Python
Python中turtle作图示例
2017/11/15 Python
如何在django里上传csv文件并进行入库处理的方法
2019/01/02 Python
python 对多个csv文件分别进行处理的方法
2019/01/07 Python
Python微信操控itchat的方法
2019/05/31 Python
Python爬虫图片懒加载技术 selenium和PhantomJS解析
2019/09/18 Python
Python测试线程应用程序过程解析
2019/12/31 Python
Python实现捕获异常发生的文件和具体行数
2020/04/25 Python
简单了解python关键字global nonlocal区别
2020/09/21 Python
python Cartopy的基础使用详解
2020/11/01 Python
python调用百度API实现人脸识别
2020/11/17 Python
2014学校庆三八妇女节活动总结
2014/03/01 职场文书
大学生职业生涯规划书汇总
2014/03/20 职场文书
公司廉洁自律承诺书
2014/03/27 职场文书
专项法律服务方案
2014/06/11 职场文书
三八节活动主持词
2015/07/04 职场文书
《雪域豹影》读后感:父爱的伟大
2019/12/23 职场文书
vue实现拖拽交换位置
2022/04/07 Vue.js
html中两种获取标签内的值的方法
2022/06/10 HTML / CSS