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

Tabbar React 元件

Tabbar 是 Toolbar 的一個特殊案例,但它包含圖示(或帶有標籤的圖示)而不是純連結,並用於切換分頁。

Tabbar 元件

包含以下元件

  • 分頁標籤列
  • TabbarLink

Tabbar 屬性

Tabbar 元件繼承 Toolbar 元件,它支援所有 Toolbar 屬性以及以下額外屬性

名稱類型預設值描述
icons布林值false

啟用帶有圖示的 Tabbar

labels布林值false

啟用帶有標籤的 Tabbar

TabbarLink 元件繼承 Link 元件,它支援所有 Link 屬性以及以下額外屬性

名稱類型預設值描述
active布林值false

使此分頁標籤連結處於活動狀態

component字串'a'

元件的 HTML 元素

iconReact 節點

連結圖示內容

labelReact 節點

連結標籤內容

linkProps任何

要傳遞給連結/按鈕的其他屬性(屬性)的物件

範例

Tabbar.jsx
import React, { useState } from 'react';
import {
Page,
Navbar,
NavbarBackLink,
Tabbar,
TabbarLink,
Block,
Icon,
List,
ListItem,
Toggle,
} from 'konsta/react';
import {
EnvelopeFill,
Calendar,
CloudUploadFill,
} from 'framework7-icons/react';
import { MdEmail, MdToday, MdFileUpload } from 'react-icons/md';
export default function TabbarPage() {
const [activeTab, setActiveTab] = useState('tab-1');
const [isTabbarLabels, setIsTabbarLabels] = useState(true);
const [isTabbarIcons, setIsTabbarIcons] = useState(false);
return (
<Page>
<Navbar
title="Tabbar"
/>
<Tabbar
labels={isTabbarLabels}
icons={isTabbarIcons}
className="left-0 bottom-0 fixed"
>
<TabbarLink
active={activeTab === 'tab-1'}
onClick={() => setActiveTab('tab-1')}
icon={
isTabbarIcons && (
<Icon
ios={<EnvelopeFill className="w-7 h-7" />}
material={<MdEmail className="w-6 h-6" />}
/>
)
}
label={isTabbarLabels && 'Tab 1'}
/>
<TabbarLink
active={activeTab === 'tab-2'}
onClick={() => setActiveTab('tab-2')}
icon={
isTabbarIcons && (
<Icon
ios={<Calendar className="w-7 h-7" />}
material={<MdToday className="w-6 h-6" />}
/>
)
}
label={isTabbarLabels && 'Tab 2'}
/>
<TabbarLink
active={activeTab === 'tab-3'}
onClick={() => setActiveTab('tab-3')}
icon={
isTabbarIcons && (
<Icon
ios={<CloudUploadFill className="w-7 h-7" />}
material={<MdFileUpload className="w-6 h-6" />}
/>
)
}
label={isTabbarLabels && 'Tab 3'}
/>
</Tabbar>
<List strong inset>
<ListItem
title="Tabbar Labels"
after={
<Toggle
checked={isTabbarLabels}
onChange={() => setIsTabbarLabels(!isTabbarLabels)}
/>
}
/>
<ListItem
title="Tabbar Icons"
after={
<Toggle
checked={isTabbarIcons}
onChange={() => setIsTabbarIcons(!isTabbarIcons)}
/>
}
/>
</List>
{activeTab === 'tab-1' && (
<Block strong inset className="space-y-4">
<p>
<b>Tab 1</b>
</p>
<p>
<span>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias
accusantium necessitatibus, nihil quas praesentium at quibusdam
cupiditate possimus et repudiandae dolorum delectus quo, similique
voluptatem magni explicabo adipisci magnam ratione!
</span>
<span>
Quod praesentium consequatur autem veritatis, magni alias
consectetur ut quo, voluptatum earum in repellat! Id, autem! Minus
suscipit, ad possimus non voluptatem aliquam praesentium earum
corrupti optio velit tenetur numquam?
</span>
<span>
Illo id ipsa natus quidem dignissimos odio dolore veniam,
accusamus vel assumenda nulla aliquam amet distinctio! Debitis
deserunt, et, cum voluptate similique culpa assumenda inventore,
facilis eveniet iure optio velit.
</span>
<span>
Maiores minus laborum placeat harum impedit, saepe veniam iusto
voluptates delectus omnis consectetur tenetur ex ipsa error
debitis aspernatur amet et alias! Sit odit cum voluptas quae? Est,
omnis eos?
</span>
</p>
</Block>
)}
{activeTab === 'tab-2' && (
<Block strong inset className="space-y-4">
<p>
<b>Tab 2</b>
</p>
<p>
<span>
Dicta beatae repudiandae ab pariatur mollitia praesentium fuga
ipsum adipisci, quia nam expedita, est dolore eveniet, dolorum
obcaecati? Veniam repellendus mollitia sapiente minus saepe
voluptatibus necessitatibus laboriosam incidunt nihil autem.
</span>
<span>
Officia pariatur qui, deleniti eum, et minus nisi aliquam nobis
hic provident quisquam quidem voluptatem eveniet ducimus. Commodi
ea dolorem, impedit eaque dolor, sint blanditiis magni accusantium
natus reprehenderit minima?
</span>
<span>
Dicta reiciendis ut vitae laborum aut repellendus quasi beatae
nulla sapiente et. Quod distinctio velit, modi ipsam
exercitationem iste quia eaque blanditiis neque rerum optio, nulla
tenetur pariatur ex officiis.
</span>
<span>
Consectetur accusamus delectus sit voluptatem at esse! Aperiam
unde maxime est nemo dicta minus autem esse nobis quibusdam iusto,
reprehenderit harum, perferendis quae. Ipsum sit fugit similique
recusandae quas inventore?
</span>
</p>
</Block>
)}
{activeTab === 'tab-3' && (
<Block strong inset className="space-y-4">
<p>
<b>Tab 3</b>
</p>
<p>
<span>
Vero esse ab natus neque commodi aut quidem nobis. Unde, quam
asperiores. A labore quod commodi autem explicabo distinctio saepe
ex amet iste recusandae porro consectetur, sed dolorum sapiente
voluptatibus?
</span>
<span>
Commodi ipsum, voluptatem obcaecati voluptatibus illum hic aliquam
veritatis modi natus unde, assumenda expedita, esse eum fugit?
Saepe aliquam ipsam illum nihil facilis, laborum quia, eius ea
dolores molestias dicta.
</span>
<span>
Consequatur quam laudantium, magnam facere ducimus tempora
temporibus omnis cupiditate obcaecati tempore? Odit qui a,
voluptas eveniet similique, doloribus eum dolorum ad, enim ea
itaque voluptates porro minima. Omnis, magnam.
</span>
<span>
Debitis, delectus! Eligendi excepturi rem veritatis, ad
exercitationem tempore eveniet voluptates aut labore harum dolorem
nemo repellendus accusantium quibusdam neque? Itaque iusto
quisquam reprehenderit aperiam maiores dicta iure necessitatibus
est.
</span>
</p>
</Block>
)}
</Page>
);
}
程式碼授權基於 MIT.
2022 © Konsta UI by nolimits4web.