首页 > 其他 > 详细

Vue + Node + Element UI 项目(六)_侧边栏魔改

时间:2020-12-28 12:31:32      阅读:59      评论:0      收藏:0      [点我收藏+]

1. 页面样式

技术分享图片
技术分享图片

2. 页面代码-用Home文件做测试

  • HTML
<template>
  <el-container :style="{ height: clientHeight + ‘px‘ }">
    <el-aside 
    :style="{ width: [isCollapse ? asideWidth[1] : asideWidth[0]] + ‘px‘ }"  
    :class="[isCollapse ? ‘is-collapse‘ : ‘‘]">

     <!-- 导航栏开始 -->
      <el-menu
        default-active="2-1"
        class="el-menu-vertical-demo"
        @open="isOpen"
        @close="isClose"
        :collapse="isCollapse">

        <el-menu-item index="1" :class="[isCollapse ? ‘is-collapse‘ : ‘‘, ‘sys-info‘]">
          <span slot="title" style="color: transparent">设计之家</span>
          <!-- <img :src="[ isCollapse ?  logoUrls[1] : logoUrls[0] ]" alt="设计之家"> -->
          
        </el-menu-item>

        <el-submenu index="2">
          <template slot="title">
            <div class="nav-first">
              <i class="el-icon-location"></i>
              <span slot="title">导航一</span>
            </div>
          </template>
          <el-menu-item index="2-1">
            <span slot="title"><span class="dot"></span>选项一</span>
          </el-menu-item>
          <el-menu-item index="2-2">
            <span slot="title"><span class="dot"></span>选项2</span>
          </el-menu-item>
          <el-menu-item index="2-3">
            <span slot="title"><span class="dot"></span>选项一</span>
          </el-menu-item>
          <el-submenu index="2-4">
            <span slot="title"><span class="dot"></span>选项4</span>
            <el-menu-item index="1-4-1">选项1</el-menu-item>
          </el-submenu>
        </el-submenu>
        
        <el-menu-item index="3">
          <div class="nav-first">
            <i class="el-icon-menu"></i>
            <span slot="title">导航二</span>
          </div>
        </el-menu-item>
        <el-menu-item index="4" disabled>
          <div class="nav-first">
            <i class="el-icon-document"></i>
            <span slot="title">导航三</span>
          </div>
        </el-menu-item>
        <el-menu-item index="5">
          <div class="nav-first">
            <i class="el-icon-setting"></i>
            <span slot="title">导航四</span>
          </div>
        </el-menu-item>
      </el-menu>


    </el-aside>
    <el-container>
      <el-header>
        <a class="asibe-btn"  @click="collapseChage" >
          <i :class="[ isCollapse ? ‘el-icon-s-unfold‘ : ‘el-icon-s-fold‘ ]" ></i>
        </a>
        <a class="user-info">
          <el-avatar :size="32" :src="userAvatUrl"></el-avatar>
            <span>张三丰</span>
        </a>
      </el-header>
      <el-main>Main
        <div style="background: #f00; height: 1200px"></div>


      </el-main>
    </el-container>
  </el-container>
</template>

.JS

<script>
// import mock from ‘@/mock/index.js‘;
// import Cookies from "js-cookie";
import router from ‘@/router‘;

export default {
  name: ‘Home‘,
  data () {
    return {
      asideWidth: [264, 64], //侧边栏展开和收起宽度
      sysName: ‘设计之家‘,
      clientHeight:‘‘, //el-container 的高度
      userAvatUrl: "/static/user_avatar_default.png", //用户头像地址
      isCollapse: false
      //logoUrls: ["/static/logo_ccb_default.png", "/static/logo_ccb_white.png"]
    }
  },
  mounted(){
      this.initHeight(); // 计算el-container 的高度
  },

  methods: {
    initHeight(){  //获取高度
        //获取浏览器可视区域高度
        this.clientHeight =  window.innerHeight;
        // console.log(this.clientHeight);

        window.onresize = () => {  //当窗口或框架发生改变时触发
          this.clientHeight =  window.innerHeight;
          // console.log(this.clientHeight);
        };
    },
    //侧边栏菜单展开和收起
    isOpen(key, keyPath) {
      console.log(key, keyPath);
    },
    isClose(key, keyPath) {
      console.log(key, keyPath);
    },

     // 侧边栏折叠
    collapseChage() {
      this.isCollapse = !this.isCollapse;
    }
  }

}
</script>

  • SCSS
<style src="./home.scss"  lang="scss">
</style>

技术分享图片

技术分享图片

Vue + Node + Element UI 项目(六)_侧边栏魔改

原文:https://www.cnblogs.com/lanyuan3/p/14200549.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!