el-tab面板添加折叠按钮方法

news2024/12/23 19:35:40

折叠后

<template>
  <div class="page-type-left-wrap">
    <div class="page-type-left-wrap-info nav-link" :class="{ leftCollapse }">
      <el-tabs v-model="activeName" class="page-tabs" @tab-change="handleClick">
        <el-tab-pane label="xxx" name="room">
        </el-tab-pane>
        <el-tab-pane label="xxx" name="forecast">222
        </el-tab-pane>
        <el-tab-pane label="xxx" name="eng">333
        </el-tab-pane>
        <el-tab-pane label="xxx" name="eng">333
        </el-tab-pane>
        <el-tab-pane label="xxx" name="eng">333
        </el-tab-pane>
      </el-tabs>
      <div class="arrow-btn" @click="leftCollapse = !leftCollapse"></div>
    </div>
  </div>
</template>

<script lang="ts">
import { defineComponent, reactive, toRefs, watch } from 'vue'


export default defineComponent({
  name: 'PageType',
  components: {
  },
  setup(props, { emit }) {
    const state = reactive({
      activeName: 'room',
      leftCollapse: false,
    })
    const methods = {
      // 点击具体内容
      handleClick(item) {
        console.log(item, '--页面类型改变--');
        emit('pageTypeChange', item)
      },
    }

    return {
      ...toRefs(state),
      ...methods,
    }
  }
})
</script>

<style scoped lang="less">
.page-type-left-wrap {
  position: absolute;
  top: 0;
  left: 0;
  padding: 16px;

  .page-type-left-wrap-info {
    position: relative;

    &.nav-link {
      width: 340px;

      :deep(.el-tabs__header) {
        width: fit-content;
      }
    }

    &.leftCollapse {

      // 折叠后隐藏tab内容面板
      :deep(.el-tabs__content) {
        width: 0;
        padding: 0;
      }

      // 折叠后把背景宽度改小,减少占位不影响底图,header宽度不变,,无这个需求的可不设置
      &.nav-link {
        width: 8px;

        :deep(.el-tabs__header) {
          width: fit-content;
        }
      }

      // 折叠后的箭头位置方向
      .arrow-btn {
        left: 0px;
        border-top-left-radius: 5px;
        border-top-right-radius: 0px;
        border-bottom-left-radius: 5px;
        border-bottom-right-radius: 0px;

        &::before {
          content: '';
          position: absolute;
          border: 6px solid transparent;
          border-left-color: #fff;
          top: 50%;
          transform: translateY(-50%);
          left: 2px;
        }
      }
    }


    // 折叠前箭头位置方向
    .arrow-btn {
      position: absolute;
      top: 50%;
      right: -8px;
      width: 8px;
      height: 38px;
      transform: translateY(-50%);
      background-color: var(--el-color-primary);
      border-top-left-radius: 0px;
      border-top-right-radius: 5px;
      border-bottom-left-radius: 0px;
      border-bottom-right-radius: 5px;
      cursor: pointer;

      &::before {
        content: '';
        position: absolute;
        border: 6px solid transparent;
        border-right-color: #fff;
        top: 50%;
        transform: translateY(-50%);
        right: 2px;
      }
    }
  }


  // tab头部样式
  :deep(.el-tabs__header) {
    height: 36px;
    background-color: #fff;
    border-radius: 4px;
    padding: 0 16px;
    margin: 0 0 16px;
  }

  // 隐藏底部横线
  :deep(.el-tabs__nav-wrap:after) {
    height: 0px; // 改为0
  }

  // 修改选中tab的横线圆角和高度
  :deep(.el-tabs__active-bar) {
    height: 4px;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    background-color: #skyblue;
  }

  :deep(.el-tabs__item.is-active) {
    color: var(--gdky-blue-value-text);
    font-weight: 600;
  }

  :deep(.el-tabs__item) {
    padding: 0 var(--base-padding);
    height: 36px;
    font-weight: 400;
  }

  :deep(.el-tabs__item:hover) {
    color: #pink; // 自行修改
  }

  // 内容面板背景和高度
  :deep(.el-tabs__content) {
    width: 340px;
    height: calc(100vh - 16px - 16px - 15px - 36px);
    background-color: #fff;
    border-radius: 4px;
    padding: 16px;
  }
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1630365.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Git系列:Refs与Reflog

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

【经典算法】LeetCode104二叉树的最大深度(Java/C/Python3实现含注释说明,Easy)

目录 题目描述思路及实现方式一&#xff1a;递归思路代码实现Java版本C语言版本Python3版本Go语言版本 复杂度分析 方式二&#xff1a;广度优先搜索(BFS)思路代码实现Java版本C语言版本Python3版本 复杂度分析 总结相似题目 标签(题目类型)&#xff1a;树、深度优先搜索(DFS)、…

B站无限评论暴力截留协议及教程

B站无限评论暴力截留协议及教程 B站无限评论暴力截留协议及教程&#xff0c;需要抓CK &#xff0c;教程里面有讲如何抓取 网盘自动获取 链接&#xff1a;https://pan.baidu.com/s/1lpzKPim76qettahxvxtjaQ?pwd0b8x 提取码&#xff1a;0b8x

PHP 错误 Unparenthesized `a ? b : c ? d : e` is not supported

最近在一个新的服务器上测试一些老代码的时候得到了类似上面的错误&#xff1a; [Thu Apr 25 07:37:34.139768 2024] [php:error] [pid 691410] [client 192.168.1.229:57183] PHP Fatal error: Unparenthesized a ? b : c ? d : e is not supported. Use either (a ? b : …

DeblurGAN-v2: Deblurring (Orders-of-Magnitude) Faster and Better

文章目录 摘要1、引言2、相关工作2.1、图像去模糊2.2、生成对抗网络 3、DeblurGAN-v2 架构3.1、特征金字塔去模糊3.2、骨干网络的选择&#xff1a;性能与效率之间的权衡3.3、双尺度RaGAN-LS判别器3.4、训练数据集 4、实验评估4.1、实现细节4.2、在GoPro数据集上的定量评估4.3、…

服务器数据恢复—存储硬盘坏道,指示灯亮黄色的数据恢复案例

服务器数据恢复环境&故障&#xff1a; 一台某品牌EqualLogic PS系列某型号存储&#xff0c;存储中有一组由16块SAS硬盘组建的RAID5磁盘阵列&#xff0c;RAID5上划分VMFS文件系统存放虚拟机文件。存储系统上层一共分了4个卷。 raid5阵列中磁盘出现故障&#xff0c;有2块硬盘…

5款文案生成器,帮你智能写作优秀文案

在当今数字化时代&#xff0c;文案写作是营销和传播领域中至关重要的一环。然而&#xff0c;对于许多人来说&#xff0c;撰写引人注目且有吸引力的文案可能是一项具有挑战性的任务。这就是为什么文案生成器变得如此受欢迎的原因。通过结合人工智能和自然语言处理技术&#xff0…

C++之STL-String

目录 一、STL简介 1.1 什么是STL 1.2 STL的版本 1.3 STL的六大组件 ​编辑 1.4 STL的重要性 二、String类 2.1 Sting类的简介 2.2 string之构造函数 2.3 string类对象的容量操作 2.3.1 size() 2.3.2 length() 2.3.3 capacity() 2.3.4 empty() 2.3.5 clear() 2.3.6…

JDBC查询大数据时怎么防止内存溢出-流式查询

文章目录 1.前言2.流式查询介绍3.使用流式查询3.1不开启流式查询的内存占用情况3.2开启流式查询的内存占用情况 4.开启流式查询的注意点 1.前言 在使用 JDBC 查询大数据时&#xff0c;由于 JDBC 默认将整个结果集加载到内存中&#xff0c;当查询结果集过大时&#xff0c;很容易…

【项目】YOLOv8/YOLOv5/YOLOv9半监督ssod火灾烟雾检测(YOLOv8_ssod)

假期闲来无事找到一份火灾烟雾数据集&#xff0c;自己又补充标注了一些&#xff0c;通过论文检索发现现在的火灾检测工作主要局限于对新场景的泛化性不够强&#xff0c;所以想着用半监督&#xff0c;扩充数据集的方法解决这个问题&#xff0c;所以本文结合使用现在检测精度较高…

Canal入门使用

说明&#xff1a;canal [kə’nl]&#xff0c;译意为水道/管道/沟渠&#xff0c;主要用途是基于 MySQL 数据库增量日志解析&#xff0c;提供增量数据订阅和消费&#xff08;官方介绍&#xff09;。一言以蔽之&#xff0c;Canal是一款实现数据同步的组件。可以实现数据库之间、数…

网络相关知识总结

1、网口设置 网口设置IP&#xff0c;即操作/etc/sysconfig/network-scripts路径下的ifcfg-xx文件 主要参数详解&#xff1a; DEVICE:网口名 ONBOOT&#xff1a;表示启动系统时是否激活网卡&#xff0c;yes为激活&#xff0c;no不激活 HWADDR:mac值 DEFROUTE://默认路由设置…

[C++基础学习]----01-C++数据类型详解

前言 C是一种静态类型的编程语言&#xff0c;它提供了丰富的数据类型来存储和操作数据。这些数据类型为C程序员提供了丰富的选择&#xff0c;可以根据具体需求来选择最合适的类型来存储和操作数据。下面详细解释一些常见的C数据类型&#xff0c;包括其原理和使用方法&#xff1…

ADOP带您科普什么是光纤网卡,它跟普通网卡有什么区别?

光纤网卡&#xff0c;也称为网络适配器或网络接口卡&#xff08;NIC&#xff09;&#xff0c;是一种用于将计算机和服务器等设备连接到数据网络的硬件设备。它通常装有一个或多个端口&#xff0c;可以通过这些端口连接不同类型的网络线缆&#xff0c;如RJ45接口的网络跳线或SFP…

云贝餐饮连锁V2-2.9.9源码

云贝餐饮连锁V2独立版、版本更新至2.9.9&#xff0c;小程序、公众号版本&#xff0c;全插件&#xff0c;公众号小程序端&#xff0c;独立版&#xff1b; 带商家端&#xff0c;修复收银台、排队点餐、堂食点餐&#xff1b;最新版更新 搭建环境教程: 系统环境&#xff1a;CentO…

Wi-Fi HaLow:重塑物联网的未来

Wi-Fi HaLow&#xff1a;引领物联网连接的革命 数字时代的蓬勃发展正在引发一场深刻的变革&#xff0c;物联网已经融入到我们的日常生活和工作中&#xff0c;成为不可或缺的一部分。随着新一代Wi-Fi技术一Wi-Fi HaLow的崭露头角&#xff0c;有望在2024年及未来&#xff0c;重新…

stm32f4单片机强制类型转换为float程序跑飞问题

如题&#xff0c;在一个数据解析函数中使用了*(float *)&data[offset]&#xff0c;其中data为uint8类型指针&#xff0c;指向的value地址为 可以看到地址0x20013A31非对齐&#xff0c;最终在执行VLDR指令时导致跑飞 VLDR需要使用对齐访问 跑飞后查看SCB寄存器发现确实是非…

磁盘未格式化,数据恢复大揭秘

一、磁盘未格式化现象概述 在日常使用电脑的过程中&#xff0c;我们有时会遇到磁盘未格式化的提示&#xff0c;这意味着我们的磁盘突然间变得不可识别&#xff0c;所有的数据和文件都似乎消失了。这种情况常常发生在外接硬盘、U盘等存储设备上&#xff0c;给我们的工作和生活带…

LC 142. 环形链表 II

142. 环形链表 II 给定一个链表的头节点 head &#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回 null。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评…

C++ ─── 隐式类型转换、static成员、友元、内部类

目录 1. explicit关键字 2. static成员 2.1 概念 2.2 特性 3. 友元 3.1 友元函数 3.2 友元类 4. 内部类 5. 再次理解类和对象 1. explicit关键字 构造函数不仅可以构造与初始化对象&#xff0c;对于接收单个参数的构造函数&#xff0c;还具有类型转换的作用。接收单个…