NavMenu 导航菜单

优质
小牛编辑
114浏览
2023-12-01

为网站提供导航功能的菜单。

顶栏

适用广泛的基础用法。

<el-menu [model]="0" (modelChange)="handle($event)" class="el-menu-demo" mode="horizontal">
  <el-menu-item index="1">处理中心</el-menu-item>
  <el-submenu index="2" title="我的工作台">
    <el-menu-item index="2-1">选项1</el-menu-item>
    <el-menu-item index="2-2">选项2</el-menu-item>
    <el-menu-item index="2-3">选项3</el-menu-item>
  </el-submenu>
  <el-menu-item index="3"><a href="https://github.com/eleme/element-angular" target="_blank">GITHUB</a></el-menu-item>
</el-menu>
<el-menu [model]="0" (modelChange)="handle($event)" class="el-menu-demo" mode="horizontal"
  background-color="#545c64"
  active-text-color="#ffd04b"
  text-color="#fff">
  <el-menu-item index="1">处理中心</el-menu-item>
  <el-submenu index="2" title="我的工作台">
    <el-menu-item index="2-1">选项1</el-menu-item>
    <el-menu-item index="2-2">选项2</el-menu-item>
    <el-menu-item index="2-3">选项3</el-menu-item>
  </el-submenu>
  <el-menu-item index="3"><a href="https://github.com/eleme/element-angular" target="_blank">GITHUB</a></el-menu-item>
</el-menu>
<script type="text">
// in Component
handle(index: string): void {
  console.log(index)
}
</script>

侧栏

垂直菜单,可内嵌子菜单。

通过 el-menu-item-group 组件可以实现菜单进行分组,分组名可以通过 title 属性直接设定也可以通过 ng-template 来设定。

<div el-row class="tac">
  <div el-col span="8">
    <h5>带 icon</h5>
    <el-menu model="2" class="el-menu-vertical-demo">
      <el-submenu index="1">
        <ng-template #title>
          <i class="el-icon-message"></i>导航一
        </ng-template>
        <el-menu-item-group title="分组一">
          <el-menu-item index="1-1">选项1</el-menu-item>
          <el-menu-item index="1-2">选项2</el-menu-item>
        </el-menu-item-group>
        <el-menu-item-group title="分组2">
          <el-menu-item index="1-3">选项3</el-menu-item>
        </el-menu-item-group>
        <el-submenu index="1-4" title="选项4">
          <el-menu-item index="1-4-1">选项1</el-menu-item>
        </el-submenu>
      </el-submenu>
      <el-menu-item index="2"><i class="el-icon-menu"></i>导航二</el-menu-item>
      <el-menu-item index="3"><i class="el-icon-setting"></i>导航三</el-menu-item>
    </el-menu>
  </div>
  <div el-col span="8">
    <h5>不带 icon</h5>
    <el-menu default-active="2" class="el-menu-vertical-demo" theme="dark">
      <el-submenu index="1" title="导航一">
        <el-menu-item-group title="分组一">
          <el-menu-item index="1-1">选项1</el-menu-item>
          <el-menu-item index="1-2">选项2</el-menu-item>
        </el-menu-item-group>
        <el-menu-item-group title="分组2">
          <el-menu-item index="1-3">选项3</el-menu-item>
        </el-menu-item-group>
        <el-submenu index="1-4" title="选项4">
          <el-menu-item index="1-4-1">选项1</el-menu-item>
        </el-submenu>
      </el-submenu>
      <el-menu-item index="2">导航二</el-menu-item>
      <el-menu-item index="3">导航三</el-menu-item>
    </el-menu>
  </div>
  <div el-col span="8">
    <h5>分组</h5>
    <el-menu mode="vertical" default-active="1" class="el-menu-vertical-demo">
      <el-menu-item-group title="分组一">
        <el-menu-item index="1"><i class="el-icon-message"></i>导航一</el-menu-item>
        <el-menu-item index="2"><i class="el-icon-message"></i>导航二</el-menu-item>
      </el-menu-item-group>
      <el-menu-item-group title="分组二">
        <el-menu-item index="3"><i class="el-icon-message"></i>导航三</el-menu-item>
        <el-menu-item index="4"><i class="el-icon-message"></i>导航四</el-menu-item>
      </el-menu-item-group>
    </el-menu>
  </div>
</div>

Menu Attributes

参数说明类型可选值默认值
mode模式stringhorizontal / verticalvertical
background-color背景颜色 (仅支持 hex 格式)string#ffffff
text-color文字颜色 (仅支持 hex 格式)string#303133
active-text-color当前激活的文字颜色 (仅支持 hex 格式)string#409eff
model当前激活菜单的 index,双向绑定值string | number
menu-trigger子菜单打开的触发方式(只在 mode 为 horizontal 时有效)stringhover / clickhover

Menu Item Attributes

参数说明类型可选值默认值
index唯一标识string
title默认标题string
elDisabled禁用该项boolean
to跳转地址,整个 urlstring
extras额外的路由参数NavigationExtras

Menu Group Attributes

参数说明类型可选值默认值
title默认标题,也可以使用 ng-template 传入string | ng-tempalte

SubMenu Attributes

参数说明类型可选值默认值
index唯一标识string
title默认标题,也可以使用 ng-template 传入string | ng-tempalte