el-aside中添加el-menu设置collapse宽度自适应

在 Vue3 项目中使用 Element Plus,当 el-aside 内包含 el-menu 并设置 collapse 为 true 时,el-menu 能够正确折叠,但 el-aside 宽度不变。原因是 el-aside 的 width 默认为 300px 的 CSS 变量。为实现宽度自适应,可通过设置 CSS 变量 --el-aside-width 为 auto。此外,深入源码发现,当 el-aside 具有 width 属性时,会覆盖默认值,从而达到自适应效果。
摘要由CSDN通过智能技术生成

    根据vue3官方提供的命令行创建项目后,引入element-plus后,尝试通过Container布局容器创建一个简单布局后,在<el-aside>引入<el-menu>后设置collapsetrue<el-menu>进行了折叠,但是<el-aside>并没有折叠,源代码如下:

<script setup lang="ts">
import { ref } from 'vue'
import { Bell, Open, TurnOff, Menu as IconMenu } from '@element-plus/icons-vue'
//el-menu是否水平折叠
const isCollapse = ref(false)

//点击el-icon
const turnCollapse = () => {
  isCollapse.value = !isCollapse.value
}
</script>

<template>
  <div class="common-layout">
    <!-- container布局容器 -->
    <el-container class="app-el-container">
      <!-- 左侧树形菜单布局容器 -->
      <el-aside>
        <!-- 树形菜单 -->
        <el-menu
          default-active="1"
          :collapse="isCollapse"
        >
          <el-menu-item index="1">
            <el-icon>
              <Bell />
            </el-icon>
            <span>菜单1</span>
          </el-menu-item>
          <el-menu-item index="2">
            <el-icon>
              <icon-menu />
            </el-icon>
            <span>菜单2</span>
          </el-menu-item>
        </el-menu>
      </el-aside>

      <!-- 右侧布局包含el-header、el-main、el-footer -->
      <el-container>
        <el-header>
          <!-- 按钮用于控制左侧树形菜单是否水平折叠 -->
          <el-icon
            :size="50"
            @click="turnCollapse"
          >
            <O
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值