導覽列 (Navbar)
一個響應式的導覽標頭,位於頁面頂部,包含品牌、連結、導覽、折疊選單等支援。
安裝
上述命令僅適用於單獨安裝。如果已全域安裝 @nextui-org/react
,則可以跳過此步驟。
匯入
NextUI 導出 7 個與導覽列相關的元件
- Navbar:導覽列的主要元件。
- NavbarBrand:用於品牌標識的元件。
- NavbarContent:用於包裝導覽列項目的元件。
- NavbarItem:導覽列項目的元件。
- NavbarMenuToggle:用於切換導覽列選單的元件。
- NavbarMenu:用於包裝導覽列選單項目的元件。
- NavbarMenuItem:導覽列選單項目的元件。
使用方式
靜態
您可以使用 position
屬性將導覽列設定為靜態定位(預設行為是 sticky
)。
捲動時隱藏
可以使用 shouldHideOnScroll
屬性在捲動時隱藏導覽列。
帶有選單
您可以使用 NavbarMenuToggle
和 NavbarMenu
元件來顯示可切換的選單。
如果您想要移除 open
/ close
動畫,您可以將 disableAnimation={true}
屬性傳遞給 Navbar
元件。
受控選單
您可以使用 isMenuOpen
和 onMenuOpenChange
屬性來控制導覽列選單的狀態。
有邊框
您可以使用 isBordered
屬性為導覽列新增底部邊框。
停用模糊效果
導覽列預設有模糊效果。您可以使用 isBlurred=false
屬性停用它。
含下拉式選單
可以使用 Dropdown 元件以導覽列項目的形式顯示下拉式選單。
含頭像
具有頭像和下拉式選單的導覽列範例。
含搜尋輸入框
具有搜尋輸入框的導覽列範例。
自訂使用中的項目
當 NavbarItem
處於使用中狀態時,它會具有 data-active
屬性。您可以使用此屬性自訂它。
插槽
- base:導覽列的主要插槽。它會佔用父元素的整個寬度,並包覆包括選單在內的導覽列元素。
- wrapper:包含導覽列元素的插槽,例如
brand
、content
和toggle
。 - brand:
NavbarBrand
元件的插槽。 - content:
NavbarContent
元件的插槽。 - item:
NavbarItem
元件的插槽。 - toggle:
NavbarMenuToggle
元件的插槽。 - toggleIcon:
NavbarMenuToggle
圖示的插槽。 - menu:
NavbarMenu
元件的插槽。 - menuItem:
NavbarMenuItem
元件的插槽。
資料屬性
Navbar
在 base
元素上具有以下屬性
- data-menu-open:指示導覽列選單是否開啟。
- data-hidden:指示導覽列是否隱藏。當
shouldHideOnScroll
屬性為true
時使用。
NavbarContent
- data-justify:導覽列內容的對齊方式。它會考量正確的空間分配。
NavbarItem
在 base
元素上具有以下屬性
- data-active:指示導覽列項目是否使用中。當
isActive
屬性為true
時使用。
NavbarMenuToggle
在 base
元素上具有以下屬性
- data-open:指示導覽列選單是否開啟。當
isMenuOpen
屬性為true
時使用。 - data-pressed:當按下導覽列選單切換按鈕時。根據 usePress
- data-hover:當滑鼠懸停在導覽列選單切換按鈕上時。基於 useHover。
- data-focus-visible:當使用鍵盤選取導覽列選單切換按鈕時。基於 useFocusRing。
NavbarMenuItem
在 base
元素上具有以下屬性
- data-active:指示選單項目是否為啟用狀態。當
isActive
屬性為true
時使用。
API
導覽列屬性
屬性 | 類型 | 預設值 |
children* |
| |
height |
| "4rem (64px)" |
position |
| "sticky" |
maxWidth |
| "lg" |
parentRef |
| "window" |
isBordered |
| false |
isBlurred |
| true |
isMenuOpen |
| false |
isMenuDefaultOpen |
| false |
shouldHideOnScroll |
| false |
motionProps |
| |
disableScrollHandler |
| false |
disableAnimation |
| false |
classNames |
|
導覽列事件
屬性 | 類型 | 預設值 |
onMenuOpenChange |
| |
onScrollPositionChange |
|
導覽列內容屬性
屬性 | 類型 | 預設值 |
children* |
| |
justify |
| "start" |
導覽列項目屬性
屬性 | 類型 | 預設值 |
children |
| |
isActive |
| false |
導覽列選單切換按鈕屬性
屬性 | 類型 | 預設值 |
icon |
| |
isSelected |
| false |
defaultSelected |
| false |
srOnlyText |
| "開啟/關閉導覽選單" |
導覽列選單切換按鈕事件
屬性 | 類型 | 預設值 |
onChange |
|
導覽列選單屬性
屬性 | 類型 | 預設值 |
children* |
| |
portalContainer |
| "document.body" |
motionProps |
|
導覽列選單項目屬性
屬性 | 類型 | 預設值 |
children |
| |
isActive |
| false |