🔥 看看我們的新專案 t0ggles - 你終極的專案管理工具! 🔥

Navbar React 組件

Navbar 是螢幕頂部的固定區域,包含頁面標題和導覽元素。

包含以下組件

  • Navbar
  • NavbarBackLink
名稱類型預設值描述
bgClassName字串

要新增到 Navbar 的「背景」元素的其他類別

centerTitle布林值未定義

使 Navbar 標題置中。如果未指定,則在 iOS 主題中設定為置中

colors物件

具有 Tailwind CSS 顏色類別的物件

colors.bgIos字串'bg-ios-light-surface-2 dark:bg-ios-dark-surface-2'
colors.bgMaterial字串'bg-md-light-surface-2 dark:bg-md-dark-surface-2'
colors.textIos字串'text-black dark:text-white'
colors.textMaterial字串'text-md-light-on-surface dark:text-md-dark-on-surface'
component字串'div'

組件的 HTML 元素

fontSizeIos字串'text-[17px]'

iOS 主題中字型大小的 Tailwind CSS 類別

fontSizeMaterial字串'text-[16px]'

Material 主題中字型大小的 Tailwind CSS 類別

innerClassName字串

要新增到 Navbar 的「內部」元素的其他類別

large布林值false

呈現大型 Navbar,具有額外的列用於大型標題,該標題在滾動時變為一般大小

leftReactNode

Navbar 的「左側」區域的內容

leftClassName字串

要新增到 Navbar 的「左側」元素的其他類別

medium布林值false

呈現中型 Navbar,具有額外的列用於中型標題,該標題在滾動時變為一般大小

outline布林值未定義

呈現外部髮絲線(邊框)。如果未指定,則會為 iOS 主題啟用

rightReactNode

Navbar 的「右側」區域的內容

rightClassName字串

要新增到 Navbar 的「右側」元素的其他類別

scrollEl任何未定義

中型/大型/透明 Navbar 的正確「摺疊」功能所需的元素。如果未指定,它將使用 Navbar 的父元素

subnavbarReactNode

Navbar 的「子導航列」區域的內容

subnavbarClassName字串

要新增到 Navbar 的「子導航列」元素的其他類別

subtitleReactNode

Navbar 的「副標題」區域的內容

subtitleClassName字串

要新增到 Navbar 的「副標題」元素的其他類別

titleReactNode

Navbar 的「標題」區域的內容

titleClassName字串

要新增到 Navbar 的「標題」元素的其他類別

titleFontSizeIos字串'text-[17px]'

iOS 主題中 Navbar 標題字型大小的 Tailwind CSS 類別

titleFontSizeMaterial字串'text-[22px]'

Material 主題中 Navbar 標題字型大小的 Tailwind CSS 類別

titleLargeFontSizeIos字串'text-[34px]'

iOS 主題中大型 Navbar 標題字型大小的 Tailwind CSS 類別

titleLargeFontSizeMaterial字串'text-[28px]'

Material 主題中大型 Navbar 標題字型大小的 Tailwind CSS 類別

titleMediumFontSizeIos字串'text-[24px]'

iOS 主題中中型 Navbar 標題字型大小的 Tailwind CSS 類別

titleMediumFontSizeMaterial字串'text-[24px]'

Material 主題中中型 Navbar 標題字型大小的 Tailwind CSS 類別

translucent布林值true

使 iOS 主題中的 Navbar 背景半透明 (使用 backdrop-filter: blur)

transparent布林值false

呈現透明 Navbar,該 Navbar 在滾動時變為不透明

NavbarBackLink 應放置在 Navbar 的「左側」區域中

<Navbar
  left={
    <NavbarBackLink text="Back" onClick={() => history.back()} />
  }
  title="My App"
/>
名稱類型預設值描述
component字串'a'

組件的 HTML 元素

showText布林值 | 'auto''auto'

定義是否顯示連結文字。當為「自動」時,它會隱藏 Material 主題的連結文字

textReactNode'返回'

返回連結的文字內容

onClick函式(e)

連結點擊處理常式

範例

Navbar.jsx
import React, { useState } from 'react';
import {
Page,
Navbar,
NavbarBackLink,
Link,
Block,
BlockTitle,
BlockHeader,
List,
ListItem,
Radio,
Toggle,
} from 'konsta/react';
export default function NavbarPage() {
const [size, setSize] = useState('Default');
const [isTransparent, setIsTransparent] = useState(false);
return (
<Page>
<Navbar
title="Navbar"
subtitle="Subtitle"
className="top-0 sticky"
medium={size === 'Medium'}
large={size === 'Large'}
transparent={isTransparent}
right={<Link navbar>Right</Link>}
/>
<div className="relative">
<Block strong inset>
<p>
Navbar is a fixed area at the top of a screen that contains Page
title and navigation elements.
</p>
</Block>
<BlockTitle>Size</BlockTitle>
<BlockHeader>
Medium and Large will collapse to usual size on page scroll
</BlockHeader>
<List strong inset>
{['Default', 'Medium', 'Large'].map((v) => (
<ListItem
key={v}
label
title={v}
after={
<Radio
component="div"
value={v}
checked={size === v}
onChange={() => setSize(v)}
/>
}
/>
))}
</List>
<BlockTitle>Transparent</BlockTitle>
<BlockHeader>
When navbar is transparent, its title and background will become
visible on page scroll
</BlockHeader>
<List strong inset>
<ListItem
label
title="Transparent"
after={
<Toggle
component="div"
checked={isTransparent === true}
onChange={() => setIsTransparent(!isTransparent)}
/>
}
/>
</List>
<Block strong inset className="space-y-4">
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Iusto
tempore ratione unde accusantium distinctio nulla quia numquam earum
odio, optio, nisi rem deserunt. Molestiae delectus, ut assumenda
numquam magni enim.
</p>
<p>
Architecto molestias cum dolor dolorem provident consequuntur
incidunt sunt fugiat tenetur odio, recusandae placeat rem veniam.
Voluptates, repellendus odit, magni nesciunt, optio laborum
asperiores repudiandae consectetur suscipit ab cupiditate eum.
</p>
<p>
Aliquam, iste accusamus deleniti temporibus exercitationem neque
perferendis optio, blanditiis quisquam molestias perspiciatis cumque
harum tenetur veniam. Dolorum fugit doloribus est, deserunt,
eligendi, quaerat quidem itaque tempore laborum non illum?
</p>
<p>
Rerum magni sunt quis veniam, dolor ratione saepe ducimus tempore
voluptatum porro quod commodi? Aperiam laudantium deleniti totam
dolorum qui accusantium iste saepe facere optio, soluta maxime
mollitia deserunt cumque.
</p>
<p>
Iusto tempore quis provident, saepe illum ex ipsum cupiditate
explicabo ratione unde facere nemo delectus harum, blanditiis eius
sit asperiores nam. Aut cupiditate est tempore officia, perspiciatis
esse asperiores repudiandae?
</p>
<p>
Consequuntur itaque harum eos vero, reiciendis dolorum iure non
earum molestias tenetur sint enim, maxime recusandae ad perferendis
repudiandae! Sit, quos exercitationem beatae numquam laborum nobis
natus. Obcaecati, ea inventore.
</p>
<p>
Fugit culpa labore sapiente excepturi reiciendis, nulla, nihil neque
ut veritatis quis quibusdam dolorum? Voluptatibus animi officia
perspiciatis doloremque cum voluptatem, quia ratione modi vero,
consequatur ipsum, praesentium quibusdam amet?
</p>
<p>
Laudantium nihil sint nam placeat, nemo rerum ipsam explicabo iusto
dolores molestiae expedita eos consequuntur ut architecto
consequatur soluta ad maiores voluptatem tenetur in velit. Minima
quia molestiae nobis voluptatibus.
</p>
<p>
Expedita soluta quia inventore et placeat id exercitationem quisquam
eligendi est eius sapiente quo, cum nesciunt mollitia, sit veniam
ducimus tempora culpa adipisci commodi in autem nihil voluptatem
corporis? Perspiciatis.
</p>
<p>
Molestias, est? Eligendi vero distinctio voluptatem cumque id
voluptatibus, officia minima repellendus sit illo tempora labore
provident? Eum tenetur consectetur quae, in facilis autem ipsam
doloribus voluptate vitae suscipit nobis.
</p>
<p>
Obcaecati optio iste hic, soluta minus ullam, perferendis pariatur
non possimus autem nostrum libero sapiente. Corporis quo cum iusto
exercitationem velit. Non beatae eveniet asperiores ipsa
consequuntur temporibus sapiente earum!
</p>
<p>
Temporibus, omnis. Excepturi dolorum expedita laudantium quasi quod
id adipisci, esse, nam atque in, incidunt ex ab distinctio
repellendus beatae voluptatem alias odit illum quis. Illo numquam
voluptatibus error voluptatum!
</p>
</Block>
</div>
</Page>
);
}
Subnavbar.jsx
import React from 'react';
import {
Page,
Navbar,
NavbarBackLink,
Block,
Segmented,
SegmentedButton,
} from 'konsta/react';
export default function SubnavbarPage() {
return (
<Page>
<Navbar
title="Subnavbar"
subnavbar={
<Segmented strong>
<SegmentedButton small strong active>
Button
</SegmentedButton>
<SegmentedButton small strong>
Button
</SegmentedButton>
<SegmentedButton small strong>
Button
</SegmentedButton>
</Segmented>
}
/>
<div className="relative">
<Block strongIos outlineIos>
<p>
Subnavbar is useful when you need to put any additional elements
into Navbar, like Tab Links or Search Bar. It also remains visible
when Navbar hidden.
</p>
</Block>
</div>
</Page>
);
}
程式碼授權於 MIT.
2022 © Konsta UI 由 nolimits4web.