美文网首页前端开发那些事儿
vue实现一个展开收起

vue实现一个展开收起

作者: 明眸yh | 来源:发表于2021-02-19 17:54 被阅读0次

需求

默认显示三行高度的数据,点击展开全部展示,点击收起还原显示三行数据

效果图

思路

默认设置高度,超出部分隐藏,点击展开去掉高度

代码

来点假数据

proNameList: [
{
  project_id: 1,
  project_name: "初始项目"
},
{
  project_id: 1,
  project_name: "初始项目"
},
{
  project_id: 1,
  project_name: "初始项目"
},
{
  project_id: 1,
  project_name: "初始项目"
},
{
  project_id: 1,
  project_name: "初始项目"
},
{
  project_id: 1,
  project_name: "初始项目"
},
{
  project_id: 1,
  project_name: "初始项目"
},
{
  project_id: 1,
  project_name: "初始项目"
},
{
  project_id: 1,
  project_name: "初始项目"
},
{
  project_id: 1,
  project_name: "初始项目"
}
]

html页面

<div class="select-box">
  <div class="select-box-top">
    <label>项目名称</label>
    <span v-if="isShowNameType" @click="handleIsShowNameType">展开</span>
    <span v-if="!isShowNameType" @click="handleIsShowNameType">收起</span>
  </div>
  <ul class="select-list" :style="isShowNameType ? activeNameStyle : showNameStyle">
    <li
      @click="selectNameType(index, item)"
      v-for="(item, index) in proNameList"
      :class="activeNameIndex == index ? 'active' : ''"
      :key="index"
    >
      {{ item.project_name }}
    </li>
  </ul>
</div>

js代码:

data() {
  return {
    activeNameStyle: 'height: 1.44rem; overflow: hidden;',
    showNameStyle: 'min-height: 1.44rem;',
    isShowNameType: true,
    activeNameIndex: null,
  }
},
methods: {
  handleIsShowNameType() {
    this.isShowNameType = !this.isShowNameType;
  },
  selectNameType(index, item) {
    this.activeNameIndex = index;
  },
}

css代码省略
单纯为了实现效果,细节还需进一步优化,欢迎提出其他意见

相关文章

  • vue展开收起

    代码 collapse.vue collapse.js

  • vue实现一个展开收起

    需求 默认显示三行高度的数据,点击展开全部展示,点击收起还原显示三行数据 效果图 思路 默认设置高度,超出部分隐藏...

  • vue实现展开全部,收起全部

    1.给数组的每一项添加是否展开或收起的标志:‘toggleShowDes’和长度限制的标志:‘ifMore’ 2....

  • Vue实现点击展开收起功能

    为了节省大家宝贵的时间,先看看效果图是不是你们想要的吧。 1.实现思路   数据存放到showList数组中,通过...

  • vue中展开收起的实现方式

    这个页面的API会返回N多期课程,每期课程下面会有N多次课,每次课里面有N多节视频,默认第一期的第一课是展开的,其...

  • vue-展开收起按钮的实现

    在仿豆瓣中有一个展开的小按钮,点击可以展开全部的内容介绍,不展开的话则只显示三行。 这里我是直接用一个控制添加多行...

  • vue展开收起(2)

  • 小程序 — 展开/收起

    前言:本章说下文字内容的展开与收起的实现,要实现这么一个效果:当收起的时候隐藏并显示省略号,当展开的时候显示全部文...

  • 基于vue展开收起动画

    之前用jquery实现还很简单,然后用vue就一直不行,然后在网上找了很多,又仔细看了vue官网 的过渡&动画,发...

  • 底部可拖动列表

    需求 1.列表显示在底部2.填充一个列表3.点击"展开","收起"执行展开收起的动画并将列表展开和收起4."展开"...

网友评论

    本文标题:vue实现一个展开收起

    本文链接:https://www.haomeiwen.com/subject/bciaxltx.html