• element的menu折叠隐藏效果


    <template>
     <div class="main">
      <div class="left_main" :class="{ left_main_show: openStatus }">
       <el-menu
        id="elmenu"
        background-color="#545c64"
        text-color="#fff"
        active-text-color="#ffd04b"
        class="el-menu-vertical-demo"
        :collapse="openStatus"
       >
        <el-submenu index="1">
         <template slot="title">
          <i class="el-icon-location"></i>
          <span slot="title">导航一</span>
         </template>
         <el-menu-item-group>
          <span slot="title">分组一</span>
          <el-menu-item index="1-1">选项1</el-menu-item>
          <el-menu-item index="1-2">选项2</el-menu-item>
         </el-menu-item-group>
         <el-menu-item-group title="分组2">
          <el-menu-item index="1-3">选项3</el-menu-item>
         </el-menu-item-group>
         <el-submenu index="1-4">
          <span slot="title">选项4</span>
          <el-menu-item index="1-4-1">选项1</el-menu-item>
         </el-submenu>
        </el-submenu>
        <el-menu-item index="2">
         <i class="el-icon-menu"></i>
         <span slot="title">导航二</span>
        </el-menu-item>
        <el-menu-item index="3" disabled>
         <i class="el-icon-document"></i>
         <span slot="title">导航三</span>
        </el-menu-item>
        <el-menu-item index="4">
         <i class="el-icon-setting"></i>
         <span slot="title">导航四</span>
        </el-menu-item>
       </el-menu>
      </div>
      <div class="right_main">
       <div class="open_close">
        <i @click="change" v-if="open_close" class="el-icon-s-fold"></i>
        <i @click="change" v-else class="el-icon-s-unfold"></i>
       </div>
      </div>
     </div>
    </template>
    <script>
    export default {
     name: 'Always',
     data() {
      return {
       openStatus: false,
       open_close: true,
      }
     },
     methods: {
      change() {
       this.openStatus = !this.openStatus
       if (this.openStatus) {
        setTimeout(() => {
         this.open_close = false
        }, 1000)
       } else {
        setTimeout(() => {
         this.open_close = true
        }, 1000)
       }
      },
     },
    }
    </script>
    <style lang="scss" scoped>
    .main {
     display: flex;
     width: 100%;
     height: 100vh;
     .left_main {
      width: 180px;
      text-align: center;
      transition: width 1s;
      background-color: #545c64;
      .el-menu {
       border: none;
       height: 100%;
       text-align: left;
      }
      //  关键,必须加上,否则在折叠时会出现第一个文字卡顿后消失
      .el-menu:not(.el-menu--collapse) {
       width: 100%;
      }
     }
    
     .right_main {
      flex: 1;
      background-color: brown;
      position: relative;
      .open_close {
       position: absolute;
       left: 0;
       top: 0;
       color: white;
       font-size: 24px;
      }
     }
     .left_main_show {
      width: 60px;
     }
    }
    </style>

     

  • 相关阅读:
    ASP.NET实现年月日三级联动(局部刷新)
    通过ip地址获取当前地理位置
    Microsoft.Practices.Unity 给不同的对象注入不同的Logger
    sqlserver 数据库里面金额类型为什么不建议用float,实例告诉你为什么不能。
    bindingredirect 没有效果
    Expression构建DataTable to Entity 映射委托
    windows 2003 远程桌面 连接输入账号密码后,只能看见蓝色屏幕和鼠标
    vmware workstation 10.0.1 install mac os mavericks
    教师节我的专属祝福方式!
    信盈达学员学习心得
  • 原文地址:https://www.cnblogs.com/lyt520/p/15743857.html
Copyright © 2020-2023  润新知