Giao diện
CPageHeader
Dải tiêu đề đặt ở đầu mỗi trang: breadcrumb, tiêu đề, dòng phụ và nhóm hành động của cả trang.
Dùng khi: mở đầu một trang nội dung — danh sách, chi tiết, form, dashboard.
Không dùng khi: đặt tiêu đề cho một khối bên trong trang — dùng title của CCard hoặc CTable.
Dòng phụ nói phạm vi dữ liệu đang xem ("47 đơn trong tháng 9", "Chi nhánh Hà Nội") — đừng lặp lại tiêu đề bằng từ khác.
Breadcrumb
Component không phụ thuộc router: item có to chỉ phát sự kiện navigate, trang tự quyết định điều hướng. Trong app Nuxt gần như luôn là:
vue
<CPageHeader :breadcrumb="breadcrumb" @navigate="navigateTo" />Quên bind @navigate thì bấm breadcrumb không có gì xảy ra. Mục cuối là trang hiện tại nên không có to.
Nhóm hành động
Chỉ đặt vào #extra những hành động tác động lên cả trang. Hành động trên một dòng dữ liệu thuộc về cột hành động của bảng; hành động trên một khối thuộc về header của khối đó.
Chặn theo quyền bằng v-can — xem Chặn theo quyền:
vue
<CButton v-can="'/orders/create'" variant="primary">Tạo đơn</CButton>Tiêu đề tuỳ biến
API
Props
| Tên | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
title | string | undefined | Tiêu đề trang; slot #title để tuỳ biến. |
subTitle | string | undefined | Dòng phụ dưới tiêu đề. |
breadcrumb | BreadcrumbRoute[] | [] | Đường dẫn breadcrumb; item có `to` sẽ phát sự kiện navigate khi bấm. |
Sự kiện
| Tên | Payload | Mô tả |
|---|---|---|
navigate | [to: string] | Bấm một breadcrumb có `to` — router-agnostic, trang tự gọi navigateTo. |
Slot
| Tên | Props của slot | Mô tả |
|---|---|---|
#title | any | Thay phần tiêu đề (mặc định hiện `title`). |
#extra | any | Nút hành động bên phải tiêu đề. |
Giao diện
Nền --tasco-color-surface, gạch chân --tasco-color-border, tiêu đề dùng --tasco-font-family-heading cỡ 20px, dòng phụ --tasco-color-text-muted. Class BEM: c-page-header, __crumbs, __titles, __title, __subtitle, __extra.
Khối co giãn theo chiều ngang: khi hẹp, nhóm hành động tự xuống dòng dưới tiêu đề.
Khả năng tiếp cận
- Tiêu đề mặc định render bằng
<h1>— mỗi trang chỉ nên có mộtCPageHeader. - Dùng slot
#titlethì tự đặt heading thật bên trong (như demo), đừng để trang mất mốc<h1>. - Breadcrumb là danh sách liên kết thật:
Tabtới được,Enterkích hoạt. Sự kiệnnavigateđã chặn hành vi mặc định của thẻ<a>nên không tải lại trang.
Lưu ý
- Breadcrumb bám cấu trúc nghiệp vụ, không nhất thiết bám cây thư mục route.
- Tiêu đề trang chi tiết nên là định danh người dùng nhận ra (mã đơn, tên khách hàng), không phải "Chi tiết".
- Đừng nhét bộ lọc vào
#extra— bộ lọc thuộc về toolbar của bảng.
Liên quan
CCard— tiêu đề cho một khối.CTable— toolbar và tiêu đề của bảng.- Khung giao diện — vị trí của dải tiêu đề trong khung app.