NavBar导航栏

位于 app 内容区的上方,系统状态栏的下方,并且提供在一系列页面中的导航能力。

规则

  • 可在导航栏中显示当前视图的标题。如果标题非常冗长且无法精简,可以空缺。
  • 可在导航栏中使用 SegmentedControl 对内容进行层级划分。
  • 避免用过多的元素填满导航栏。一般情况下,一个『返回按钮』、一个『标题』、一个『当前视图的控件』就足够了;如果已经有了 SegmentedControl ,一般只搭配一个『返回按钮』或者『当前视图的控件』。
  • 为图标和文字控件,提供更大的点击热区。

代码演示

导航栏

  1. import { Component } from '@angular/core';
  2. @Component({
  3. selector: 'demo-nav-bar-basic',
  4. template: `
  5. <Navbar [icon]="icon"
  6. [rightContent]="rightContent"
  7. [mode]="'light'"
  8. (onLeftClick)="onLeftClick()"
  9. >
  10. NavBar
  11. </Navbar>
  12. <Navbar [leftContent]="'Back'"
  13. [rightContent]="rightContent"
  14. (onLeftClick)="onLeftClick()"
  15. >
  16. NavBar
  17. </Navbar>
  18. <ng-template #icon>
  19. <Icon [type]="'left'"></Icon>
  20. </ng-template>
  21. <ng-template #rightContent>
  22. <Icon [type]="'search'" [ngStyle]="{marginRight: '16px'}"></Icon>
  23. <Icon [type]="'ellipsis'"></Icon>
  24. </ng-template>
  25. `
  26. })
  27. export class DemoNavBarBasicComponent {
  28. onLeftClick() {
  29. console.log('onLeftClick');
  30. }
  31. }

NavBar 导航栏 - 图1

API

属性说明类型默认值
mode模式string'dark' enum{'dark', 'light'}
icon出现在最左边的图标占位符TemplateRef-
leftContent导航左边内容any
rightContent导航右边内容any
onLeftClick导航左边点击回调(e: Object): void