vue 二级级联菜单

2023-10-26

<ul class="sidebar-menu">
<li v-for="(item,index) in items" :key="index">
        <h2
@click="showToggle(item,index)"
:class="item.isSubShow && isShow === index? 'add-bg':''">{{item.name}}
<i
v-if="item.subItems"
class="arrow el-icon-arrow-down"
:class="item.isSubShow && isShow === index? 'rotate':''"></i>
</h2>
<ul
class="sub-menu" :class="item.isSubShow && isShow === index? 'active':''">
          <li v-for="(subItem,i) in item.subItems" :key="i">
            <h3
@click="subChange(item.name,i,subItem)"
:class="subShow === i && activeItem === item.name? 'sub-active':''">{{subItem.name}}</h3>
          </li>
        </ul>
      </li>
</ul>

data() {
return {
isShow:0,
subShow: -1,
activeItem: '',
items:[
{
name:'家用电器',
isSubShow:true,
subItems:[
{
name:'笔记本电脑',
url: '1'
},
{
name:'台式电脑',
url: '1'
},
{
name:'电视机',
url: '1'
}
]
},
{
name:'服装',
isSubShow:false,
subItems:[
{
name:'男士服装',
url: '1'
},
{
name:'女士服装',
url: '1'
},
{
name:'青年服装',
url: '1'
}
]
},
{
name:'服装2',
isSubShow:false,
url: '1'
}
]
}
},

 

 

methods: {
showToggle (item,index){
    //判断如果当前点击的是其他选项就全部关闭
if(item.url){
  alert(item.url)
}
if(this.isShow != index){
for(var i=0;i<this.items.length;i++){
this.items[i].isSubShow = false;
}

}
item.isSubShow = !item.isSubShow;
this.isShow = index;
},
subChange (name,i,subItem){
    this.subShow = i;
    this.activeItem = name;
    alert(subItem.url)
}
},

 

 

.sub-menu{
max-height: 0;
overflow: hidden;
transition: all .3s ease;
}
.add-bg{
color: red;
}
.active{
max-height: 200px;
}
.arrow{
transition: all .3s ease;
}
.rotate{
transform: rotate(180deg);
}
.sub-active{
color: blue;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue 二级级联菜单 的相关文章

  • JS中sort()方法原理及使用

    sort 方法用于对数组的元素进行排序 并返回数组 默认排序顺序是根据字符串UniCode码 因为排序是按照字符串UniCode码的顺序进行排序的 所以首先应该把数组元素都转化成字符串 如有必要 以便进行比较 语法 arrayObject

随机推荐

  • 计算机组成原理(1)-软件设计(二十二)

    程序设计语言 软件设计 二十一 https blog csdn net ke1ying article details 129344983 计算机组成原理在软件设计考试分值占比较高 主要会考 1 数据的表示 数据进制转化 日常生活中使用的都
  • MAC 下 OpenCV4 配置 VScode 失败 Xcode 成功记录(2021年12月)

    2022 1 22更新 VScode 设置成功 详情请见 https blog csdn net qq 42067550 article details 122634801 问题描述 安装好了 OpenCV 但是在 VScode 里面花了3
  • 线程的状态及阻塞

    之前提到了线程和进程 那就提一下线程的状态吧 线程状态通常分为五种 New 新建状态 创建线程对象 该线程的生命周期开始 此时该线程已经有了相应的内存空间和其他资源 Runnable 就绪状态 线程对象创建后 调用该线程的start 方法就
  • 去哪儿,模拟登录(扫码登录)

    声明 本文仅限交流学习使用 请勿使用在任何非法商业活动 禁止用于非法用途 否则后果自负 如有侵权 请告知删除 谢谢 一 去哪儿 出行类大厂 为了安全 查询很多信息需要身份校验 有多种登陆方式 1 1 如查询航班信息时 自动弹出登录窗口 会有
  • MySQL常用函数、关键词

    一 关键词 1 unsigned 非负数 定义非负 可以在定义主键的自增列时使用 column name int UNSIGNED AUTO INCREMENT 2 desc 降序 从大到小 asc 或 缺省 为升序 从小到大 和order
  • 微信小程序之地理位置授权 wx.getLocation

    1 授权地理位置 点击按钮 弹出授权弹窗 点击允许后 在以后的操作中可以随时获取到用户地理位置 点击拒绝后 将无法获取到地理位置 也无法再次点击弹出弹窗
  • TortoiseGit使用详解(1)

    一 版本回退和本地分支推送 1 版本回退 假如我们在develop分支上进行开发 当我们想要将代码回退到之前提交的某一版本时 使用TortoiseGit如何进行操作呢 1 第一步 进入工作空间 右键 TortoiseGit Show log
  • Spring知识点小结

    1 Spring是什么 Spring是一个轻量级的IoC和AOP容器框架 目的是用于简化企业应用程序的开发 它使得开发者只需要关心业务需求 常见的配置方式有三种 基于XML的配置 基于注解的配置 基于Java的配置 主要由以下几个模块组成
  • Jemdoc+Github.io +Mac搭建个人学术主页

    一直想做一个个人学术主页 试过Github Pages的各种模版 也用过知乎里一个高票答案Hugo 但总觉得不够简洁 直到遇到Jemdoc 顿觉这才是学术主页该有的样子 作为Web小白 Mac用户 结合网上搜到的零碎的答案 终于捣鼓成功 看
  • Matlab绘制直方图、概率密度函数、累积分布函数

    视频学习 https www bilibili com video BV1HK411T76d from search seid 16338053070486680597 spm id from 333 337 0 0 总结如下 绘制直方图
  • 人工智能数学基础--概率与统计7:学习中一些术语的称呼或表示变化说明以及独立事件的一些补充推论

    一 概念表示变化说明 笔者最开始学习概率论时 是以美版M R 斯皮格尔等著作的 概率与统计 作为教材学习 学习过程中发现部分内容理解困难 之所以这样 一是这本书的内容太古老 教材是2002年翻译出版的 二是部分内容翻译不是很好 后来感谢AI
  • 【C++OJ2】字符串的倒置 &排列子序列

    愿我们 都能成为可爱又有趣的大人呀 目录 每日总结 排序子序列 字符串的倒置 gt gt 1 每日总结 当一个类对象的生命周期结束后 关于调用析构函数 先调用派生类的析构函数 后调用基类的析构函数 关于一个类的静态成员描述 该类的静态成员变
  • org.springframework.boot.builder.SpringApplicationBuilder.([Ljava/lang/Class;)V

    拆分项目为微服务时候 然后启动报了上面的错误 经过查找资料是pom文件中引入的springboot版本兼容性导致的 进行修改pom文件 修改前 pom部分代码
  • 网络部分问题

    HTTP协议 端口80 工作在应用层 不安全 不需要加密不需要证书 URL以http开头 请求包 请求行 请求头标 空行 请求数据 请求行由 请求方法 请求的URL HTTP版本构成 请求方法 get post head put optio
  • Unity脚本中枚举类型在inspector面板中文显示

    效果 工具脚本 ChineseEnumTool cs using System using UnityEngine if UNITY EDITOR using UnityEditor using System Reflection usin
  • STM使用SPI协议通信-基础(标准库)

    SPI协议是摩托罗拉公司开发的协议 它以主从方式工作 这种模式通常有一个主设备和一个或多个从设备 至少需要下列4根线 1 MISO Master Input Slave Output 主设备数据输入 从设备数据输出 2 MOSI Maste
  • 华为OD机试 - 查字典(Java)

    题目描述 输入一个单词前缀和一个字典 输出包含该前缀的单词 输入描述 单词前缀 字典长度 字典 字典是一个有序单词数组 输入输出都是小写 输出描述 所有包含该前缀的单词 多个单词换行输出 若没有则返回 1 用例 输入 b 3 a b c 输
  • RocketMQ的死信队列

    死信队列用于处理无法被正常消费的消息 当一条消息初次消费失败 消息队列会自动进行消息重试 达到最大重试次数后 若消费依然失败 则表明消费者在正常情况下无法正确地消费该消息 此时 消息队列 不会立刻将消息丢弃 而是将其发送到该消费者对应的特殊
  • Python数据可视化之条形图和热力图

    Python数据可视化之条形图和热力图 提示 介绍 简单介绍Pthon可视化的图表使用 提示 热力图和条形图 文章目录 Python数据可视化之条形图和热力图 前言 一 导入数据包 二 选择数据集 2 加载数据 2 读入数据 总结 前言 提
  • vue 二级级联菜单

    ul class sidebar menu li li ul