Page Header 页头

如果页面的路径比较简单,推荐使用页头组件而非面包屑组件。

完整示例

Page Header 页头 - 图1

  1. <template>
  2. <div aria-label="A complete example of page header">
  3. <el-page-header @back="onBack">
  4. <template #breadcrumb>
  5. <el-breadcrumb separator="/">
  6. <el-breadcrumb-item :to="{ path: './page-header.html' }">
  7. homepage
  8. </el-breadcrumb-item>
  9. <el-breadcrumb-item
  10. ><a href="./page-header.html">route 1</a></el-breadcrumb-item
  11. >
  12. <el-breadcrumb-item>route 2</el-breadcrumb-item>
  13. </el-breadcrumb>
  14. </template>
  15. <template #content>
  16. <div class="flex items-center">
  17. <el-avatar
  18. class="mr-3"
  19. :size="32"
  20. src="https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png"
  21. />
  22. <span class="text-large font-600 mr-3"> Title </span>
  23. <span
  24. class="text-sm mr-2"
  25. style="color: var(--el-text-color-regular)"
  26. >
  27. Sub title
  28. </span>
  29. <el-tag>Default</el-tag>
  30. </div>
  31. </template>
  32. <template #extra>
  33. <div class="flex items-center">
  34. <el-button>Print</el-button>
  35. <el-button type="primary" class="ml-2">Edit</el-button>
  36. </div>
  37. </template>
  38. <el-descriptions :column="3" size="small" class="mt-4">
  39. <el-descriptions-item label="Username"
  40. >kooriookami</el-descriptions-item
  41. >
  42. <el-descriptions-item label="Telephone"
  43. >18100000000</el-descriptions-item
  44. >
  45. <el-descriptions-item label="Place">Suzhou</el-descriptions-item>
  46. <el-descriptions-item label="Remarks">
  47. <el-tag size="small">School</el-tag>
  48. </el-descriptions-item>
  49. <el-descriptions-item label="Address"
  50. >No.1188, Wuzhong Avenue, Wuzhong District, Suzhou, Jiangsu Province
  51. </el-descriptions-item>
  52. </el-descriptions>
  53. <p class="mt-4 text-sm">
  54. Element Plus team uses <b>weekly</b> release strategy under normal
  55. circumstance, but critical bug fixes would require hotfix so the actual
  56. release number <b>could be</b> more than 1 per week.
  57. </p>
  58. </el-page-header>
  59. </div>
  60. </template>
  61. <script setup lang="ts">
  62. import { ElNotification as notify } from 'element-plus'
  63. const onBack = () => {
  64. notify('Back')
  65. }
  66. </script>

基础用法

简单场景下的标准页头。

Page Header 页头 - 图2

  1. <template>
  2. <el-page-header @back="goBack">
  3. <template #content>
  4. <span class="text-large font-600 mr-3"> Title </span>
  5. </template>
  6. </el-page-header>
  7. </template>
  8. <script lang="ts" setup>
  9. const goBack = () => {
  10. console.log('go back')
  11. }
  12. </script>

自定义图标

默认图标可能无法满足您的需求,您可以通过设置icon属性来自定义图标,示例如下。

Page Header 页头 - 图3

  1. <template>
  2. <el-page-header :icon="ArrowLeft">
  3. <template #content>
  4. <span class="text-large font-600 mr-3"> Title </span>
  5. </template>
  6. </el-page-header>
  7. </template>
  8. <script lang="ts" setup>
  9. import { ArrowLeft } from '@element-plus/icons-vue'
  10. </script>

无图标

有时,页面全是元素,您可能不想展示页面上方的图标,您可以设置icon属性值为null来去除它。

Page Header 页头 - 图4

  1. <template>
  2. <el-page-header :icon="null">
  3. <template #content>
  4. <span class="text-large font-600 mr-3"> Title </span>
  5. </template>
  6. </el-page-header>
  7. </template>

面包屑导航

使用页头组件,您可以通过添加插槽 breadcrumb 来设置面包屑路由导航。

Page Header 页头 - 图5

  1. <template>
  2. <el-page-header>
  3. <template #breadcrumb>
  4. <el-breadcrumb separator="/">
  5. <el-breadcrumb-item :to="{ path: './page-header.html' }">
  6. homepage
  7. </el-breadcrumb-item>
  8. <el-breadcrumb-item
  9. ><a href="./page-header.html">route 1</a></el-breadcrumb-item
  10. >
  11. <el-breadcrumb-item>route 2</el-breadcrumb-item>
  12. </el-breadcrumb>
  13. </template>
  14. <template #content>
  15. <span class="text-large font-600 mr-3"> Title </span>
  16. </template>
  17. </el-page-header>
  18. </template>

额外操作部分

头部可能会变得很复杂,您可以在头部添加更多的区块,以允许丰富的交互。

Page Header 页头 - 图6

  1. <template>
  2. <el-page-header :icon="null">
  3. <template #content>
  4. <div class="flex items-center">
  5. <el-avatar
  6. :size="32"
  7. class="mr-3"
  8. src="https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png"
  9. />
  10. <span class="text-large font-600 mr-3"> Title </span>
  11. <span class="text-sm mr-2" style="color: var(--el-text-color-regular)">
  12. Sub title
  13. </span>
  14. <el-tag>Default</el-tag>
  15. </div>
  16. </template>
  17. <template #extra>
  18. <div class="flex items-center">
  19. <el-button>Print</el-button>
  20. <el-button type="primary" class="ml-2">Edit</el-button>
  21. </div>
  22. </template>
  23. </el-page-header>
  24. </template>

主要内容

有时我们想让页头显示一些协同响应内容,我们可以使用 default 插槽。

Page Header 页头 - 图7

  1. <template>
  2. <el-page-header>
  3. <template #content>
  4. <span class="text-large font-600 mr-3"> Title </span>
  5. </template>
  6. <div class="mt-4 text-sm font-bold">
  7. Your additional content can be added with default slot, You may put as
  8. many content as you want here.
  9. </div>
  10. </el-page-header>
  11. </template>

组件插槽结构

本组件由这些部件构成:

  1. <template>
  2. <el-page-header>
  3. <!-- Line 1 -->
  4. <template #breadcrumb />
  5. <!-- Line 2 -->
  6. <template #icon />
  7. <template #title />
  8. <template #content />
  9. <template #extra />
  10. <!-- Lines after 2 -->
  11. <template #default />
  12. </el-page-header>
  13. </template>

Page Header 属性

属性说明类型可选值默认值
icon图标组件string | ComponentBack
title标题stringBack
content内容string

Page Header 事件

事件名说明参数
back点击左侧区域触发

Page Header 插槽

名称说明
icon自定义图标
title标题内容
content内容
extra扩展设置
breadcrumb面包屑内容
default默认内容

源代码

组件 Page Header 页头 - 图8 文档 Page Header 页头 - 图9

贡献者

Page Header 页头 - 图10 三咲智子

Page Header 页头 - 图11 云游君

Page Header 页头 - 图12 Jeremy

Page Header 页头 - 图13 Aex

Page Header 页头 - 图14 zz

Page Header 页头 - 图15 Li Zhequ

Page Header 页头 - 图16 류한경

Page Header 页头 - 图17 Delyan Haralanov

Page Header 页头 - 图18 Herrington Darkholme

Page Header 页头 - 图19 blackie

Page Header 页头 - 图20 bqy

Page Header 页头 - 图21 gjfei

Page Header 页头 - 图22 kooriookami

Page Header 页头 - 图23 on the field of hope

Page Header 页头 - 图24 Hades-li

Page Header 页头 - 图25 C.Y.Kun