page-header 页头 - 图1 This article has not been translated, hope that your can PR to translated it. Help us!page-header 页头 - 图2

page-header 页头

页头用来声明页面的主题,包含了用户所关注的最重要的信息,使用户可以快速理解当前页面是什么以及它的功能。

  1. import { PageHeaderModule } from '@delon/abc/page-header';

代码演示

page-header 页头 - 图3

基本结构

基本结构,具备响应式布局功能,主要断点为 768px 和 576px,拖动窗口改变大小试试看。

  1. import { Component, ViewEncapsulation } from '@angular/core';
  2. @Component({
  3. selector: 'components-page-header-structure',
  4. template: `
  5. <page-header [title]="'title'"
  6. [breadcrumb]="breadcrumb" [logo]="logo" [action]="action" [extra]="extra" [content]="content" [tab]="tab">
  7. <ng-template #breadcrumb>面包屑</ng-template>
  8. <ng-template #logo><div class="logo">logo</div></ng-template>
  9. <ng-template #action><div class="action">action</div></ng-template>
  10. <ng-template #content><div class="desc">content</div></ng-template>
  11. <ng-template #extra><div class="extra">extra</div></ng-template>
  12. <ng-template #tab>
  13. <nz-tabset [nzSize]="'default'">
  14. <nz-tab nzTitle="页签一"></nz-tab>
  15. <nz-tab nzTitle="页签二"></nz-tab>
  16. <nz-tab nzTitle="页签三"></nz-tab>
  17. </nz-tabset>
  18. </ng-template>
  19. </page-header>
  20. `,
  21. styles: [`
  22. :host ::ng-deep .logo {
  23. background: #3ba0e9;
  24. color: #fff;
  25. height: 100%;
  26. }
  27. :host ::ng-deep h1.title {
  28. background: rgba(16, 142, 233, 1);
  29. color: #fff;
  30. }
  31. :host ::ng-deep .action,
  32. :host ::ng-deep .desc,
  33. :host ::ng-deep .extra {
  34. background: #7dbcea;
  35. color: #fff;
  36. }
  37. `],
  38. encapsulation: ViewEncapsulation.Emulated,
  39. })
  40. export class ComponentsPageHeaderStructureComponent {
  41. }

page-header 页头 - 图4

标准

标准页头。

  1. import { Component } from '@angular/core';
  2. import { NzMessageService } from 'ng-zorro-antd/message';
  3. @Component({
  4. selector: 'components-page-header-standard',
  5. template: `
  6. <page-header [title]="'单号:234231029431'"
  7. [breadcrumb]="breadcrumb" [logo]="logo" [action]="action" [extra]="extra" [content]="content" [tab]="tab">
  8. <ng-template #breadcrumb>
  9. <nz-breadcrumb>
  10. <nz-breadcrumb-item><a>一级菜单</a></nz-breadcrumb-item>
  11. <nz-breadcrumb-item><a>二级菜单</a></nz-breadcrumb-item>
  12. <nz-breadcrumb-item><a>三级菜单</a></nz-breadcrumb-item>
  13. </nz-breadcrumb>
  14. </ng-template>
  15. <ng-template #logo><img src="https://gw.alipayobjects.com/zos/rmsportal/nxkuOJlFJuAUhzlMTCEe.png"></ng-template>
  16. <ng-template #action>
  17. <nz-button-group>
  18. <button nz-button>操作</button>
  19. <button nz-button>操作</button>
  20. </nz-button-group>
  21. <button nz-button nz-dropdown [nzDropdownMenu]="actionMoreMenu" class="mx-sm">
  22. <i nz-icon nzType="ellipsis"></i>
  23. </button>
  24. <nz-dropdown-menu #actionMoreMenu="nzDropdownMenu">
  25. <ul nz-menu>
  26. <li nz-menu-item>选项一</li>
  27. <li nz-menu-item>选项二</li>
  28. <li nz-menu-item>选项三</li>
  29. </ul>
  30. </nz-dropdown-menu>
  31. <button nz-button [nzType]="'primary'">主操作</button>
  32. </ng-template>
  33. <ng-template #content>
  34. <sv-container size="small" col="2">
  35. <sv label="创建人">曲丽丽</sv>
  36. <sv label="订购产品">XX 服务</sv>
  37. <sv label="创建时间">2017-07-07</sv>
  38. <sv label="关联单据"><a (click)="msg.success('yes')">12421</a></sv>
  39. <sv label="生效日期">2017-07-07 ~ 2017-08-08</sv>
  40. <sv label="备注">请于两个工作日内确认</sv>
  41. </sv-container>
  42. </ng-template>
  43. <ng-template #extra>
  44. <div nz-row>
  45. <div nz-col nzXs="24" nzSm="12">
  46. <p class="text-grey">状态</p>
  47. <p class="text-lg">待审批</p>
  48. </div>
  49. <div nz-col nzXs="24" nzSm="12">
  50. <p class="text-grey">订单金额</p>
  51. <p class="text-lg">¥ 568.08</p>
  52. </div>
  53. </div>
  54. </ng-template>
  55. <ng-template #tab>
  56. <nz-tabset [nzSize]="'default'">
  57. <nz-tab nzTitle="详情"></nz-tab>
  58. <nz-tab nzTitle="规则"></nz-tab>
  59. </nz-tabset>
  60. </ng-template>
  61. </page-header>
  62. `
  63. })
  64. export class ComponentsPageHeaderStandardComponent {
  65. constructor(public msg: NzMessageService) {}
  66. }

page-header 页头 - 图5

带图

带图片的页头。

  1. import { Component } from '@angular/core';
  2. @Component({
  3. selector: 'components-page-header-image',
  4. template: `
  5. <page-header [title]="'卡片列表'"
  6. [breadcrumb]="breadcrumb" [extra]="extra" [content]="content">
  7. <ng-template #breadcrumb>
  8. <nz-breadcrumb>
  9. <nz-breadcrumb-item><a>一级菜单</a></nz-breadcrumb-item>
  10. <nz-breadcrumb-item><a>二级菜单</a></nz-breadcrumb-item>
  11. <nz-breadcrumb-item><a>三级菜单</a></nz-breadcrumb-item>
  12. </nz-breadcrumb>
  13. </ng-template>
  14. <ng-template #extra>
  15. <div style="margin-top: -60px; text-align: center; width: 195px;">
  16. <img class="img-fluid" src="https://gw.alipayobjects.com/zos/rmsportal/RzwpdLnhmvDJToTdfDPe.png">
  17. </div>
  18. </ng-template>
  19. <ng-template #content>
  20. <p>段落示意:蚂蚁金服务设计平台 ant.design,用最小的工作量,无缝接入蚂蚁金服生态,提供跨越设计与开发的体验解决方案。</p>
  21. <div class="d-flex pt-md">
  22. <a class="d-flex pr-lg">
  23. <img class="pr-sm" src="https://gw.alipayobjects.com/zos/rmsportal/MjEImQtenlyueSmVEfUD.svg" />快速开始
  24. </a>
  25. <a class="d-flex pr-lg">
  26. <img class="pr-sm" src="https://gw.alipayobjects.com/zos/rmsportal/NbuDUAuBlIApFuDvWiND.svg" />产品简介
  27. </a>
  28. <a class="d-flex">
  29. <img class="pr-sm" src="https://gw.alipayobjects.com/zos/rmsportal/ohOEPSYdDTNnyMbGuyLb.svg" />产品文档
  30. </a>
  31. </div>
  32. </ng-template>
  33. </page-header>
  34. `
  35. })
  36. export class ComponentsPageHeaderImageComponent {
  37. }

page-header 页头 - 图6

Simple

简单的页头。

  1. import { Component } from '@angular/core';
  2. @Component({
  3. selector: 'components-page-header-simple',
  4. template: `
  5. <page-header [title]="'页面标题'" [breadcrumb]="breadcrumb">
  6. <ng-template #breadcrumb>
  7. <nz-breadcrumb>
  8. <nz-breadcrumb-item><a>一级菜单</a></nz-breadcrumb-item>
  9. <nz-breadcrumb-item><a>二级菜单</a></nz-breadcrumb-item>
  10. <nz-breadcrumb-item><a>三级菜单</a></nz-breadcrumb-item>
  11. </nz-breadcrumb>
  12. </ng-template>
  13. </page-header>
  14. `
  15. })
  16. export class ComponentsPageHeaderSimpleComponent {
  17. }

API

page-header

成员说明类型默认值全局配置
[title]标题名string,TemplateRef<void>-
[autoTitle]自动生成标题,以当前路由从主菜单中定位booleantrue
[syncTitle]是否自动将标题同步至 TitleServiceReuseService 下,仅 titlestring 类型时有效booleantrue
[home]首页文本,若指定空表示不显示string首页
[homeLink]首页链接string/
[homeI18n]首页链接国际化参数string-
[autoBreadcrumb]自动生成导航,以当前路由从主菜单中定位booleantrue
[recursiveBreadcrumb]自动向上递归查找,菜单数据源包含 /ware,则 /ware/1 也视为 /warebooleanfalse
[loading]是否加载中booleanfalse-
[wide]是否定宽booleanfalse-
[fixed]是否固定模式booleanfalse
[fixedOffsetTop]固定偏移值number64
[breadcrumb]自定义导航区域TemplateRef<void>--
[logo]自定义LOGO区域TemplateRef<void>--
[action]自定义操作区域TemplateRef<void>--
[content]自定义内容区域TemplateRef<void>--
[extra]自定义额外信息区域TemplateRef<void>--
[tab]自定义标签区域TemplateRef<void>--

常见问题

自动生成导航

默认情况下会根据菜单数据自动生成导航,有时你可能希望隐藏某个节点菜单数据时,可以指定菜单的 hideInBreadcrumb: true

固定模式

固定模式在滚动过程中会覆盖 reuse-tab 组件。