当前位置:   article > 正文

【Vue小功能】默认展示3条数据,点击展开显示所有和收起显示3条数据的功能_vue 列表 展示收起

vue 列表 展示收起

效果图

在这里插入图片描述

全部代码:

<template>
    <!-- 展开收起列表 -->
    <div class="lists">
      <el-alert
        v-for="item in newList"
        :key="item.id"
        :title="item.title"
        :type="item.type"
        effect="dark"
        :closable="false"
        center>
      </el-alert>
      <!-- 当列表仅有三条数据,不显示该切换部分-->
      <el-divider v-if="lists.length>3"  @click="showAll = !showAll">
       {{showAll?'收起':'展开' }}  
       <i :class="'el-icon-arrow-'+show?'up':'down'"></i>
      </el-divider>
    </div>
</template>

<script>
export default {
  data() {
    return {
      showAll:false,  //展开与收起布尔值
      // 列表数据
      lists:[
        {title:'第1个',type:'success',id:1},
        {title:'第2个',type:'info',id:2},
        {title:'第3个',type:'warning',id:3},
        {title:'第4个',type:'error',id:4},
        {title:'第5个',type:'success',id:5},
        {title:'第6个',type:'error',id:6},
        {title:'第7个',type:'info',id:7},
        {title:'第8个',type:'warning',id:8}
      ]
    };
  },
  computed:{
    newList(){ 
      //先判断showAll的布尔值,第一次进来默认为false
      if (this.showAll === false) {
        // 判断数组长度是否大于3
        if (this.lists.length>3) {
          // 截取前3条数据,返出去展示
          return this.lists.slice(0,3)
        }else{
          // 如果列表长度不够三条,直接展示原列表
          return this.lists
        }
      }else{  //这里showAll为true时,展示全部数据,对应名称图标更改
        return this.lists
      }    
    },
  }
};
</script>

<style scoped>
.el-divider__text.is-center{
  background-color: aquamarine;
  cursor: pointer;
}
.lists{
  width: 300px;
  margin: 20px 0;
}
.el-alert{
  margin: 10px 0;
}
</style>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/76816
推荐阅读
相关标签
  

闽ICP备14008679号