当前位置: 首页 > ds >正文

自定义 el-menu

使用的工具:vue2 + element-ui 

<!DOCTYPE html>
<html><head><link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"><style>.el-menu--horizontal {border-bottom: none !important;}.el-menu--horizontal .el-menu-item {height: 40px;line-height: 40px;}.el-menu--horizontal>.el-submenu .el-submenu__title {height: 40px;line-height: 40px;}.el-icon-arrow-down {display: none;}.el-submenu__title {padding: 0;}.is-active .el-submenu__title {border-bottom: none !important;color: #fff !important;}.is-active {background-color: #d3d4d6;}</style>
</head><body><div id="app"><div><el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal"><el-submenu v-for="(item, index) in menuItems" :key="index" :index="item.index"><template slot="title"><el-menu-item style="border-right: 1px solid #bfbfbf;content: '';">{{ item.name }}</el-menu-item></template><el-menu-item v-for="(subItem, subIndex) in item.subItems" :key="subIndex"@click="handleClick(item,subItem)" :index="item.index + '-' + 0">{{ subItem.name }}</el-menu-item></el-submenu></el-menu></div></div><script src="https://cdn.jsdelivr.net/npm/vue@2"></script><script src="https://unpkg.com/element-ui/lib/index.js"></script><script>new Vue({el: '#app',data() {return {activeIndex: '0',menuItems: [{ name: '常用商品', index: '1', subItems: [{ name: '全部' }, { name: '中型犬1-3kg以下' }, { name: '狗狗美容' }] },{ name: '短毛猫洗护', index: '2', subItems: [{ name: '全部' }, { name: '小型犬3-6kg' }] },{ name: '长毛猫洗护', index: '3', subItems: [{ name: '全部' },] },{ name: '猫咪单项服务', index: '4', subItems: [{ name: '全部' }, { name: '狗狗洗澡1-3kg以下' }] }],originalNames: {}};},created() {const firstMenu = this.menuItems[0];this.activeIndex = firstMenu.index + '-' + 0;// 初始化时保存每个一级菜单的原始 name 值this.menuItems.forEach(item => {this.$set(this.originalNames, item.index, item.name);});},methods: {handleClick(item, subItem) {this.activeIndex = item.index + '-' + 0;this.menuItems.forEach(v => {if (item.index === v.index) {if (subItem.name == "全部") {item.name = this.originalNames[item.index];}else {v.name = subItem.name}}});},}});</script>
</body></html>

http://www.xdnf.cn/news/253.html

相关文章:

  • 【jenkins】首次配置jenkins
  • 合成数据中的对抗样本生成与应用:让AI模型更强、更稳、更安全
  • 代码学习总结(五)
  • cmake 语法大纲
  • 研究生面试常见问题
  • 1.Linux基础指令
  • 卷积神经网络(CNN)与VGG16在图像识别中的实验设计与思路
  • docker镜像被覆盖了怎么办?通过sha256重新上传镜像
  • VueRouter笔记
  • 6. 实战(二):用Spring AI+OpenAI构建企业级智能客服
  • LeetCode19.删除链表的倒数第N个节点
  • OpenCV图像加密和解密
  • PGSql常用操作命令
  • OBS 日期时间.毫秒时间脚本 date-and-time.lua
  • 该文件没有与之关联的程序来执行此操作
  • 图像预处理-图像噪点消除
  • 【人工智能】DeepSeek 与 RAG 技术:构建知识增强型问答系统的实战
  • 前端 实现文字打字效果(仿AI)
  • JESD204B标准及其在高速AD采集系统中的应用详解
  • 计算机网络 - 在浏览器中输入 URL 地址到显示主页的过程?
  • polkitd服务无法启动导致docker无法启动问题解决
  • pytorch基本操作2
  • Python Logger用法和说明
  • 深入解析 Python 中的装饰器 —— 从基础到实战
  • AI模型处理文件办公,机密和隐私会泄露吗?
  • 解锁规划算法:从原理到实践
  • Python 中的数据类型有哪些
  • Vue3 计算属性与侦听器深度解析:优雅处理响应式数据引言
  • 论文阅读--Orient Anything
  • PH热榜 | 2025-04-18