Tabbar 是 工具栏 的一个特例,但它包含图标(或带标签的图标)而不是普通链接,旨在用于切换标签
包含以下组件
标签栏
TabbarLink
Tabbar
组件扩展了 工具栏
组件,它支持所有 工具栏
属性 以及以下附加属性
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
图标 | 布尔值 | false | 启用带图标的 Tabbar |
标签 | 布尔值 | false | 启用带标签的 Tabbar |
TabbarLink
组件扩展了 链接
组件,它支持所有 链接
属性 以及以下附加属性
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
活动 | 布尔值 | false | 使此标签栏链接处于活动状态 |
组件 | 字符串 | 'a' | 组件的 HTML 元素 |
图标 | ReactNode | 链接图标内容 | |
标签 | ReactNode | 链接标签内容 | |
linkProps | 任何 | 包含要传递给链接/按钮的附加属性(属性)的对象 |
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><Navbartitle="Tabbar"/><Tabbarlabels={isTabbarLabels}icons={isTabbarIcons}className="left-0 bottom-0 fixed"><TabbarLinkactive={activeTab === 'tab-1'}onClick={() => setActiveTab('tab-1')}icon={isTabbarIcons && (<Iconios={<EnvelopeFill className="w-7 h-7" />}material={<MdEmail className="w-6 h-6" />}/>)}label={isTabbarLabels && 'Tab 1'}/><TabbarLinkactive={activeTab === 'tab-2'}onClick={() => setActiveTab('tab-2')}icon={isTabbarIcons && (<Iconios={<Calendar className="w-7 h-7" />}material={<MdToday className="w-6 h-6" />}/>)}label={isTabbarLabels && 'Tab 2'}/><TabbarLinkactive={activeTab === 'tab-3'}onClick={() => setActiveTab('tab-3')}icon={isTabbarIcons && (<Iconios={<CloudUploadFill className="w-7 h-7" />}material={<MdFileUpload className="w-6 h-6" />}/>)}label={isTabbarLabels && 'Tab 3'}/></Tabbar><List strong inset><ListItemtitle="Tabbar Labels"after={<Togglechecked={isTabbarLabels}onChange={() => setIsTabbarLabels(!isTabbarLabels)}/>}/><ListItemtitle="Tabbar Icons"after={<Togglechecked={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. Aliasaccusantium necessitatibus, nihil quas praesentium at quibusdamcupiditate possimus et repudiandae dolorum delectus quo, similiquevoluptatem magni explicabo adipisci magnam ratione!</span><span>Quod praesentium consequatur autem veritatis, magni aliasconsectetur ut quo, voluptatum earum in repellat! Id, autem! Minussuscipit, ad possimus non voluptatem aliquam praesentium earumcorrupti optio velit tenetur numquam?</span><span>Illo id ipsa natus quidem dignissimos odio dolore veniam,accusamus vel assumenda nulla aliquam amet distinctio! Debitisdeserunt, et, cum voluptate similique culpa assumenda inventore,facilis eveniet iure optio velit.</span><span>Maiores minus laborum placeat harum impedit, saepe veniam iustovoluptates delectus omnis consectetur tenetur ex ipsa errordebitis 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 fugaipsum adipisci, quia nam expedita, est dolore eveniet, dolorumobcaecati? Veniam repellendus mollitia sapiente minus saepevoluptatibus necessitatibus laboriosam incidunt nihil autem.</span><span>Officia pariatur qui, deleniti eum, et minus nisi aliquam nobishic provident quisquam quidem voluptatem eveniet ducimus. Commodiea dolorem, impedit eaque dolor, sint blanditiis magni accusantiumnatus reprehenderit minima?</span><span>Dicta reiciendis ut vitae laborum aut repellendus quasi beataenulla sapiente et. Quod distinctio velit, modi ipsamexercitationem iste quia eaque blanditiis neque rerum optio, nullatenetur pariatur ex officiis.</span><span>Consectetur accusamus delectus sit voluptatem at esse! Aperiamunde maxime est nemo dicta minus autem esse nobis quibusdam iusto,reprehenderit harum, perferendis quae. Ipsum sit fugit similiquerecusandae 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, quamasperiores. A labore quod commodi autem explicabo distinctio saepeex amet iste recusandae porro consectetur, sed dolorum sapientevoluptatibus?</span><span>Commodi ipsum, voluptatem obcaecati voluptatibus illum hic aliquamveritatis modi natus unde, assumenda expedita, esse eum fugit?Saepe aliquam ipsam illum nihil facilis, laborum quia, eius eadolores molestias dicta.</span><span>Consequatur quam laudantium, magnam facere ducimus temporatemporibus omnis cupiditate obcaecati tempore? Odit qui a,voluptas eveniet similique, doloribus eum dolorum ad, enim eaitaque voluptates porro minima. Omnis, magnam.</span><span>Debitis, delectus! Eligendi excepturi rem veritatis, adexercitationem tempore eveniet voluptates aut labore harum doloremnemo repellendus accusantium quibusdam neque? Itaque iustoquisquam reprehenderit aperiam maiores dicta iure necessitatibusest.</span></p></Block>)}</Page>);}