IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue 项目横向菜单item过多导致换行问题 -> 正文阅读

[JavaScript知识库]vue 项目横向菜单item过多导致换行问题

vue 项目横向菜单item过多导致换行问题

问题:
在这里插入图片描述
解决方案:
菜单默认展示8个,超过8个时出现左右箭头,可以切换
在这里插入图片描述
代码实现:

<template>
  <div class="scrollbar">
    <!-- <el-scrollbar wrap-class="scrollbar-wrapper"> -->

    <el-row type="flex">

      <span v-if="showDrop" class="change">
        <!-- 项目切换 -->
        <projectMenu v-if="this.$route.params.projectKey " />
        <!-- 项目集切换 -->
        <pMMenu v-if="this.$route.params.projectmCode" />
        <!-- 产品切换 -->
        <productMenu v-if="this.$route.params.productCode" />
        <!-- 产品集切换 -->
        <productfitMenu v-if="this.$route.params.productfitId" />
        <!-- 资源中心切换 -->
        <sourceMenu v-if="this.$route.params.systemId" />
      </span>
      <el-menu :default-active="activeMenu" mode="horizontal">
        <div class="left">

          <i v-if="currentTabIndex" class="iconfont el-icon-icon-system-left" @click="menuleft" />

        </div>

        <sidebar-item v-for="(route,index) in currentAppMenu" v-show="index >= currentTabIndex && currentTabIndex + 8 > index " :key="route.path" :item="route" :base-path="route.path" />
        <div class="right">
          <i v-show="currentAppMenu.length - currentTabIndex > 8" class="iconfont el-icon-icon-system-right" @click="menuright" />
        </div>
      </el-menu>

    </el-row>
    <!-- </el-scrollbar> -->
  </div>
</template>

<script>
import { mapGetters } from 'vuex'
import SidebarItem from './SidebarItem'
import variables from '@/styles/variables.scss'
import projectMenu from './projectMenu.vue'
import pMMenu from './pMMenu.vue'
import productMenu from './productMenu.vue'
import productfitMenu from './productfitMenu.vue'
import sourceMenu from './sourceMenu.vue'

export default {
  components: { SidebarItem, projectMenu, pMMenu, productMenu, productfitMenu, sourceMenu },
  data() {
    return {
      showDrop: false,
      currentTabIndex: 0
    }
  },
  computed: {
    ...mapGetters([
      'currentAppMenu'
    ]),
    activeMenu() {
      const route = this.$route
      const { meta, path } = route
      // if set path, the sidebar will highlight the path you set
      if (meta.activeMenu) {
        return meta.activeMenu
      }
      return path
    },
    variables() {
      return variables
    }
  },
  mounted() {
    if (this.$route.params.projectKey || this.$route.params.projectmCode || this.$route.params.productCode || this.$route.params.productfitId || this.$route.params.systemId) {
      this.showDrop = true
    } else {
      this.showDrop = false
    }
  },
  methods: {
    menuleft() {
      this.currentTabIndex = this.currentTabIndex - 1
    },
    menuright(index) {
      console.log(index)
      this.currentTabIndex = this.currentTabIndex + 1
    }
  }
}
</script>
<style lang="scss" scoped>
::v-deep .el-scrollbar__view {
  position: relative;
  .change {
    float: left;
    margin-top: 6px;
  }
}

::v-deep.el-menu--horizontal {
  display: inline-block;
  border-bottom: none;
  background-color: #000;
  width: 100%;
}

.scrollbar {
  background-color: #fff;
  .left {
    line-height: 55px;
    float: left;
    cursor: pointer;
  }
  .right {
    line-height: 55px;
    float: right;
    cursor: pointer;
  }
}
</style>

主要实现代码是
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-22 20:27:56  更:2022-03-22 20:29:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:22:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码