当前位置: 首页 > article >正文

后台管理系统Hamburger组件实现

后台管理系统中几乎都会用到Hamburger组件,该组件主要用于折叠和展开左侧菜单栏,系统默认为展开菜单栏,当屏幕较小时可以折叠菜单栏,以便可以用更大的屏幕区域来查看系统数据区域。

以下是组件的实现代码:

<template>
    <div class="hamburger-container" @click="toggleClick">
        <svg-icon
            id="guide-hamburger"
            class="hamburger"
            :icon="icon"
        ></svg-icon>
    </div>
</template>

<script setup>
import { computed } from "vue";
import { useStore } from "vuex";

const store = useStore();
const toggleClick = () => {
    store.commit("app/triggerSidebarOpened");
};

const icon = computed(() =>
    store.getters.sidebarOpened ? "hamburger-opened" : "hamburger-closed"
);
</script>

<style lang="scss" scoped>
.hamburger-container {
    padding: 0 16px;
    .hamburger {
        display: inline-block;
        vertical-align: middle;
        width: 20px;
        height: 20px;
    }
}
</style>

需要注意的是,在点击切换的时候,需要将当前是折叠还是展开的记录在状态管理中,以便全局通过状态来修改菜单的样式。

// store/modules/app.js
export default {
    namespaced: true,
    state: () => ({
        sidebarOpened: true,
    }),
    mutations: {
        // 是否切换菜单
        triggerSidebarOpened(state) {
            state.sidebarOpened = !state.sidebarOpened;
        }
    },
    actions: {},
};

上面代码中使用了svg-icon组件为自定义封装的组件,代码的实现可以参考本专栏《Vue 3.0 中封装icon组件使用外部SVG图标》


http://www.kler.cn/a/468960.html

相关文章:

  • 神经网络第一课
  • 牛客网刷题 ——C语言初阶(6指针)——字符逆序
  • Java虚拟机(Java Virtual Machine,JVM)
  • OpenGL材质系统和贴图纹理
  • MySQL 索引分类及区别与特点
  • 基于Java的超级玛丽游戏的设计与实现【源码+文档+部署讲解】
  • Windows安装人大金仓数据库保姆级
  • Linux系统自动化sh脚本
  • 第29天:Web开发-PHP应用弱类型脆弱Hash加密Bool类型Array数组函数转换比较
  • windows中硬件加速gpu计划开启cpu的使用率居高不下
  • 远程命令执行之基本介绍
  • SpringMVC进阶(自定义拦截器以及异常处理)
  • 【Leetcode】2241. 设计一个 ATM 机器
  • 无人机各大应用场景详解
  • c#集合详解-Dictionary、List、Queue、Stack等
  • 前缀和与差分专题
  • 继承(4)
  • OpenLinkSaas使用手册-待办事项和通知中心
  • 用opencv实现像素统计
  • 代码随想录算法训练营第二十四天-回溯算法-90. 子集II
  • 【Vaadin flow 实战】第2讲-深入理解vaadin flow技术路线原理
  • TensorFlow深度学习实战(3)——深度学习中常用激活函数详解
  • 产品线上交付阶段出现的两次显著Bug分析
  • css 关于flex布局中子元素的属性flex
  • 服务器开发 的设计模式(Design Patterns)核心知识
  • 出现 Error during query execution: StatementCallback; bad SQL grammar 解决方法