vue-elementUl导航菜单栏折叠和展开会卡顿一秒文字才消失如何处理,菜单折叠动画实现方法

在使用element-plus时候遇到了收起menu菜单时候发生动画卡顿现象,在网上寻找方法,终于找到了一种方法,记录下来。

第一步:把你的el-menu组件加上属性 :collapse-transition=“false”

<template>
  <div >
    <el-menu :router="true" unique-opened :collapse="isCollapse" :collapse-transition="false">
          <!-- 菜单栏的标题 -->
              <div class="title " v-if="isCollapse">ha</div>
              <div class="title" v-else>我的后台系统</div>
              <!-- 菜单组件 -->
        <menus v-for="(item,index) in menuData" :key="index" :menu="item" ></menus>
    </el-menu>
  </div>
</template>

第二步:到你的main.vue或者是layout.vue组件,也就是主出口组件内加样式

html部分----
<el-aside>
        <!-- 菜单组件 -->
          <nav-left></nav-left>
</el-aside>
//给你的el-aside组件加上这个动画效果,然后你在点击试试就有效果了。
css部分----
  .el-aside {
    transition: width 0.15s;
  -webkit-transition: width 0.15s;
  -moz-transition: width 0.15s;
  -webkit-transition: width 0.15s;
  -o-transition: width 0.15s;
  }
  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
1. 安装vue-router ```bash npm install vue-router --save ``` 2. 创建router.js文件并配置路由 ```javascript import Vue from 'vue' import Router from 'vue-router' import Home from '@/components/Home' import About from '@/components/About' import Contact from '@/components/Contact' Vue.use(Router) export default new Router({ mode: 'history', routes: [ { path: '/', name: 'Home', component: Home }, { path: '/about', name: 'About', component: About }, { path: '/contact', name: 'Contact', component: Contact } ] }) ``` 3. 在App.vue中引入router并设置router-view组件 ```vue <template> <div id="app"> <nav> <ul> <li><router-link to="/">Home</router-link></li> <li><router-link to="/about">About</router-link></li> <li><router-link to="/contact">Contact</router-link></li> </ul> </nav> <router-view/> </div> </template> <script> import router from './router' export default { name: 'App', router } </script> ``` 4. 在router.js中添加meta属性 ```javascript export default new Router({ mode: 'history', routes: [ { path: '/', name: 'Home', component: Home, meta: { title: 'Home' } }, { path: '/about', name: 'About', component: About, meta: { title: 'About' } }, { path: '/contact', name: 'Contact', component: Contact, meta: { title: 'Contact' } } ] }) ``` 5. 在App.vue中动态生成菜单导航栏 ```vue <template> <div id="app"> <nav> <ul> <li v-for="route in $router.options.routes"> <router-link :to="route.path">{{route.meta.title}}</router-link> </li> </ul> </nav> <router-view/> </div> </template> ``` 这样就可以根据vue-router生成菜单导航栏了。当需要增加新的页面时,只需要在router.js中添加路由和meta属性,菜单导航栏会自动更新。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值