vue-admin-template 删除侧边栏

本文详细介绍了如何在Vue Admin Template中删除不需要的侧边栏和导航栏上的按钮。通过修改`sidebar.scss`文件,将隐藏侧边栏的宽度设置为0,并调整主容器的外边距。同时,从`index.vue`和`Navbar.vue`中移除了显示侧边栏按钮的代码,以实现首页上按钮的删除。在`app.js`中进一步修改以防止登录后侧边栏重新出现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【问题】就想用vue-admin-template的单一网页,去除不需要的侧边栏,还有导航栏上调出侧边栏的按钮

【解决办法】原图

文件目录vue-admin-template-master/style/sidebar.scss中修改如下,

原
  .hideSidebar {
    .sidebar-container {
      width: 54px !important;
    }

    .main-container {
      margin-left: 54px;
    }

修改后
  .hideSidebar {
    .sidebar-container {
      width: 0px !important;
    }

    .main-container {
      margin-left: 0px;
    }

修改后图:

另外,首页左边的按钮也需要去掉,这个在layout里面去找,现在index.vue删除<navbar />后发现首页导航栏都被删除了,所以再去Navbar.vue里面去找布局在左上的代码并删除

//原
<template>
  <div class="navbar">
    <hamburger :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />

    <breadcrumb class="breadcrumb-container" />

    <div class="right-menu">


//修改后    就是删除前面两行
<template>
  <div class="navbar">

    <div class="right-menu">

结果如图

store/modules/app.js

额。。。重启后登录sidebar又死灰复燃了,在以上的基础上,修改如下,定位到src/layout/index.vue

#原代码
  <div :class="classObj" class="app-wrapper">
    <div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside" />
    <sidebar class="sidebar-container" />
    <div class="main-container">
      <div :class="{'fixed-header':fixedHeader}">
        <navbar />
      </div>
      <app-main />
    </div>
  </div>

#删除后如下
  <div :class="classObj" class="app-wrapper">
    <div>
      <div :class="{'fixed-header':fixedHeader}">
        <navbar />
      </div>
      <app-main />
    </div>
  </div>

 

### 在 vue-admin-template 中使用 SVG 作为侧边栏图标的实现 为了在 `vue-admin-template` 项目中集成并使用 SVG 文件作为侧边栏图标,可以通过安装和配置 `vite-plugin-svg-icons` 插件来简化这一过程。此插件能够自动加载指定目录下的所有 SVG 文件,并将其注册为 Vue 组件以便于后续调用。 #### 安装依赖包 首先,在命令行工具里执行如下 npm 命令以引入必要的开发依赖: ```bash npm install vite-plugin-svg-icons --save-dev ``` #### 配置 Vite 构建工具 接着修改项目的构建配置文件(通常是位于项目根目录下的 `vite.config.js`),加入对上述插件的支持: ```javascript // vite.config.js import { defineConfig } from 'vite' import SvgIconsPlugin from 'vite-plugin-svg-icons' export default defineConfig({ plugins: [ SvgIconsPlugin({ iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')], // 设置SVG存放路径 symbolId: 'icon-[dir]-[name]' // 自定义symbol ID格式化字符串 }) ] }) ``` #### 更新 SideBar 组件逻辑 最后一步是对 sidebar 组件做出相应调整,使其支持通过名称引用这些已注册好的 SVG 图标组件。编辑 `layout/components/Sidebar/index.vue` 文件内的计算属性部分,确保路由元数据里的 `icon` 字段能正确映射到对应的 SVG 符号ID 上[^1]。 ```html <!-- layout/components/Sidebar/index.vue --> <template> <!-- 省略其他代码... --> <svg-icon :icon-class="item.meta.icon"></svg-icon> <!-- 动态绑定SVG图标类名 --> </template> <script setup lang="ts"> import { computed } from 'vue'; import { useRoute, useRouter } from 'vue-router'; const route = useRoute(); const router = useRouter(); // 获取当前激活菜单项的key值 const activeMenu = computed(() => { const { meta, path } = route; if (meta.activeMenu) return meta.activeMenu; return path; }); // 计算显示哪些子级链接 const onlyOneChild = item => { let ret = null; if (!item.children || !item.children.length) { ret = { ...item }; } return ret; }; // 显示侧边栏菜单列表 const isShowSidebar = computed(() => { return true; /* 此处应根据实际情况编写 */ }); </script> ``` 以上就是关于如何在基于 `vue-admin-template` 的应用内添加自定义 SVG 图标至左侧导航栏的具体操作指南。需要注意的是实际编码过程中可能还需要针对具体业务场景做适当调整优化。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值