AdminLTE V3.1.0侧边栏如何添加三级菜单项?
AdminLTE 3.1.0 侧边栏三级菜单实现方案
该需求完全可以实现,AdminLTE 3.1.0 自带的treeview组件原生支持无限层级的侧边栏菜单,不需要额外引入第三方依赖。
你提供的代码存在两处结构错误导致无法正常触发三级展开逻辑:
- 二级可展开菜单项的
<a>标签没有被<li class="nav-item">包裹 - 两处菜单文本的
<p>标签未正确闭合
修正后的可用代码
<ul id="sidebarTree" class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="true"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="nav-icon fas fa-address-book"></i> <p> LEVEL 1 ITEM <i class="right fas fa-angle-left"></i> </p> </a> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link" id="level2item"> <i class="nav-icon far fa-circle"></i> <p>LEVEL 2 ITEM</p> </a> </li> <!-- 二级可展开项必须包裹在nav-item里 --> <li class="nav-item"> <a href="#" class="nav-link"> <i class="nav-icon fas fa-address-book"></i> <p> LEVEL 2 ITEM - EXPANDABLE <i class="right fas fa-angle-left"></i> </p> </a> <!-- 三级菜单放在二级nav-item内部,紧跟父a标签 --> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link" id="level3item"> <i class="nav-icon far fa-circle"></i> <p>LEVEL 3 ITEM</p> </a> </li> </ul> </li> </ul> </li> </ul>
核心配置说明
- 所有层级的可展开菜单项都遵循相同的结构规则:父
<a>标签放在class="nav-item"的<li>内,子菜单<ul class="nav nav-treeview"和父<a>平级,放在同一个nav-item内部 - 如果需要默认展开某一级菜单,给对应的父
<li>添加menu-open类,给对应的父<a>添加active类即可 - 侧边栏的
data-accordion="true"配置会保证同一时间只有一个同级菜单处于展开状态,不需要可以改为false
内容的提问来源于stack exchange,提问作者Mike Ooi
相关产品推荐
相关产品推荐

