Skip to content

CTopNav

Menu module ngang đặt trên header — mức điều hướng cao nhất, ví dụ ĐIỀU HÀNH / BÁN HÀNG / TỔ CHỨC.

Dùng khi: sản phẩm chia thành vài module lớn, mỗi module có menu sidebar riêng.

Không dùng khi: chỉ có một module — bỏ trống topNav trong app.config.ts là header gọn lại.

Dùng trong app

ts
// app/app.config.ts
export default defineAppConfig({
  tasco: {
    topNav: [
      { label: 'Điều hành', path: '/' },
      { label: 'Bán hàng', path: '/orders' },
    ],
  },
})

Layout của layer đã lắp CTopNav vào header, nên dự án chỉ khai cấu hình. Gọi trực tiếp component chỉ khi tự dựng layout riêng.

Khác gì CSideNav

CTopNavCSideNav
Vị tríHeaderSidebar
CấpMột cấp, không có childrenHai cấp
IconKhông dùngNên có
Vai tròChuyển giữa các module lớnĐiều hướng trong một module

Cùng kiểu NavItem, cùng quy tắc chọn mục đang mở (tiền tố dài nhất của active-path), cùng sự kiện @navigate.

API

Props

TênKiểuMặc địnhMô tả
items*NavItem[]Menu module ngang trên header; chỉ dùng item một cấp.
activePathstring''Đường dẫn hiện tại để tô sáng item đúng.

Sự kiện

TênPayloadMô tả
navigate[path: string]Bấm item có `path` — router-agnostic, layer gọi navigateTo.

Lưu ý

  • Ba đến năm mục là vừa; nhiều hơn thì header vỡ trên màn hình hẹp.
  • Lọc theo quyền ở lớp gọi bằng filterByPermission, như với sidebar.
  • Nhãn viết ngắn, không dấu chấm câu — đây là nhãn điều hướng, không phải câu.

Liên quan