前言:前端小白记录的一些小功能~

  公司开发中的小程序中有做任务签到的功能,这就涉及到了任务列表以及对任务列表的展开和收起功能,好了可以开始了,说多了就烦了

1.首先是css样式,因为设计稿上是超过两行默认隐藏内容所以需要写if判断,代码如下:

<ul>
<li class="taskInfo" v-for="(item, idx) in bodyData.daily" :key="idx" v-if="idx < 2">
<p class="title">{{item.name}}<img src="../../../assets/coin.png"/><span>+{{item.score}}猩淘币</span></p>
<p class="describe">{{item.desc}}</p>
</li>
<li class="taskInfo" v-for="(item, idx) in bodyData.daily" :key="idx" v-show="showMissionList2" v-if="idx >= 2">
<p class="title">{{item.name}}<img src="../../../assets/coin.png"/><span>+{{item.score}}猩淘币</span></p>
<p class="describe">{{item.desc}}</p>
</li>
<--收起和展开按钮-->
<div class="shrink" v-if="bodyData.daily.length > 2" @click='toggle(2)'>
<span class="line"></span>
{{showMissionList2 ? '收起': '查看更多'}}
<i class="iconfont icon-return" :class="showMissionList2 ? '' : 'down'"></i>
<span class="line"></span>
</div>
</ul>

2.其次是js,因为我这里有两个列表要显示,所以toggle方法要用id进行区分,代码如下:

data( ){
 return{
  name : ' 任务中心 '
  bodyData: {
   new : [],
   daily : []
  },
  showMissionList1 : false,//新手任务列表展开收起开关
  showMissionList2 : false,//日常任务列表展开收起开关
 }
},
methods:{
 /*
 * 展开和收起任务列表
 * 传一个参数id便于区分我的两个任务列表点击事件
 */
 toggle (id) {
  if (id === 1) {
   this.showMissionList1 = ! this.showMissionList1
  } else {
   this.showMissionList2 = ! this.showMissionList2
  }
 }

接下来贴一张效果图~


 

Vue:列表展开和收起(超过一定行数时显示‘查看更多’按钮)的更多相关文章

  1. html5文本超过指定行数隐藏显示省略号

    这个很简单,直接贴代码就好了 HTML <span class="name">博客园是一个面向开发者的知识分享社区.自创建以来,博客园一直致力并专注于为开发者打造一个纯 ...

  2. iOS-RATreeView多层UITableViewCell展示【多级列表展开与收起】的使用

    1.前言 iOS开发时,经常接触到的列表展示就是Tableview再熟悉不过了,但是如果接触到多层多级cell的展示,用大牛Augustyniak写的RATreeView是最好不过的了,Git地址:h ...

  3. 安卓TextView限定行数最大值,点击按钮显示所有内容

    问题展示 如上图所示,在普通的TextView中,要求: 最多显示3行 超过三行显示展开按钮 且点击展开按钮显示完整内容 这个需求看似简单,但解决起来会遇到两个较为棘手的问题:1,如何判断是否填满了前 ...

  4. CSS文本超出指定行数省略显示

    单行: overflow: hidden; text-overflow: ellipsis; white-space: nowrap; 2行: font-size: 17px;overflow: hi ...

  5. iOS中"查看更多/收起"功能实现

    实现效果如图: 查看更多功能在很多app种都有应用,在这里简单的实现,介绍实现流程: 一个tableViewCell中包含一个collectionView,"查看更多"按钮是tab ...

  6. 微信小程序——收起和查看更多功能

    项目中做一些列表的时候,可能会需要做到 查看更多 及 收起功能,如下图所示: 大概的需求就是默认只显示2条,点击[查看更多]显示全部,点击[收起]还原. 实现的方法千万种.我来讲一下我的实现思路: 1 ...

  7. Android Studio显示行数

    Android Studio在打开的文件左側单击鼠标右键,也能像Eclipse一样设置显示代码行数,如图1.可是这边跟Eclipse有一个非常大的差别,Eclipse设置后,其余的相应文件也跟着生效, ...

  8. C++实现文件内字符数、单词数、行数的统计

    先给出github上的代码链接以及项目需求 1. 项目简介 这个项目的需求可以概括为:对程序设计语言源文件统计字符数.单词数.行数,统计结果以指定格式输出到默认文件中,以及其他扩展功能,并能够快速地处 ...

  9. vs2010 vs2013等vs中如何统计整个项目的代码行数

    在一个大工程中有很多的源文件和头文件,我如何快速统计总行数? ------解决方案--------------------b*[^:b#/]+.*$^b*[^:b#/]+.*$ ctrl + shif ...

随机推荐

  1. Longest Palindromic Subsequence

    Given a string s, find the longest palindromic subsequence's length in s. You may assume that the ma ...

  2. Python中的 _init__和 _new__的区别

    使用python 的面向对象写过程序之后,相信童鞋对 __init__ 方法已经非常的熟悉了.这个方法通常是 在初始化一个实例的时候使用的. 例如: class MysqlConnector(obje ...

  3. 计算机和python

    计算机基础知识 CPU 人类的大脑 运算和处理问题 内存 临时存储数据 断电就消失了 硬盘 永久 存储数据 操作系统是一个(特殊)的程序,调度硬件和软件之间的数据交互 python的应用和历史 IT, ...

  4. redis 学习(11)-- redis pipeline

    redis pipeline 什么是流水线(pipeline) 首先来看 redis 执行一次操作所需要的时间: 1 次时间 = 1 次网络时间 + 1次命令时间 执行 n 次就需要: n 次时间 = ...

  5. 如何在云服务器上使用Docker部署easy-mock

    部署Easy-mock 安装Docker Ubuntu下安装Docker 安装Docker-compose Ubuntu下安装docker-compose 使用Docker部署 Easy-Mock D ...

  6. 数据绑定-绑定Servlet内置对象

    数据绑定:获取用户提交的参数,绑定到入参的参数中,就叫数据绑定. 绑定Servlet内置对象: 测试:

  7. iOS H5页面打开APP技术总结

    iOS端H5页面打开APP的方式目前主要有两种:URL Scheme和Universal Links.其中Universal Links是iOS9.0以后推出的一种新的方案,由于它需要在iOS9.0以 ...

  8. 【版本控制工具】 Git进阶1

    一.Git常用命令 Git中的很多命令与Linux相同(比如修改,查询,编辑,移动等),这里可以参考我之前的一篇文章https://www.cnblogs.com/ywb-articles/p/105 ...

  9. dispatch事件分发

    //赋值,监听change事件var el = document.getElementById('selectTimeHide');el.value=rs.text;//赋值el.dispatchEv ...

  10. Linux下创建仓库的软件包createrepo

    createrepo是linux下的创建仓库的软件包.create是创建的意思,repo是repository的缩写,是仓库的意思. yum(Yellow dog Updater,Modified)主 ...