メニューリストはリストビューの拡張です。通常のリンクリストとは異なり、メニューリストはアプリの現在アクティブな画面(またはセクション)を示すように設計されています。タブバーのようなものですが、リスト形式です。
以下のコンポーネントが含まれています
MenuList
- メニューリストコンポーネントMenuListItem
- メニューリストアイテム要素MenuList
コンポーネントには特定のプロパティはありませんが、List
コンポーネントを拡張しているため、すべてのList
プロパティをサポートしています
MenuListItem
コンポーネントはListItem
コンポーネントを拡張しており、すべてのListItem
プロパティと以下の追加プロパティをサポートしています
名前 | タイプ | デフォルト | 説明 |
---|---|---|---|
active | boolean | false | メニューリストアイテムを強調表示(アクティブ)します |
href | string | boolean | メニューリストアイテムリンクの | |
media | ReactNode | チップメディア領域のコンテンツ(例:アイコン) | |
subtitle | ReactNode | メニューリストアイテムの「サブタイトル」領域のコンテンツ |
import React, { useState } from 'react';import {Page,Navbar,NavbarBackLink,Block,MenuList,MenuListItem,} from 'konsta/react';import DemoIcon from '../components/DemoIcon';export default function MenuListPage() {const [selected, setSelected] = useState('home');const [selectedMedia, setSelectedMedia] = useState('home');return (<Page><Navbartitle="Menu List"/><Block strong inset><p>Menu list unlike usual links list is designed to indicate currentlyactive screen (or section) of your app. Think about it like a Tabbarbut in a form of a list.</p></Block><MenuList strongIos outlineIos><MenuListItemtitle="Home"active={selected === 'home'}onClick={() => setSelected('home')}media={<DemoIcon />}/><MenuListItemtitle="Profile"active={selected === 'profile'}onClick={() => setSelected('profile')}media={<DemoIcon />}/><MenuListItemtitle="Settings"active={selected === 'settings'}onClick={() => setSelected('settings')}media={<DemoIcon />}/></MenuList><MenuList strongIos outlineIos><MenuListItemtitle="Home"subtitle="Home subtitle"active={selectedMedia === 'home'}onClick={() => setSelectedMedia('home')}media={<DemoIcon />}/><MenuListItemtitle="Profile"subtitle="Profile subtitle"active={selectedMedia === 'profile'}onClick={() => setSelectedMedia('profile')}media={<DemoIcon />}/><MenuListItemtitle="Settings"subtitle="Settings subtitle"active={selectedMedia === 'settings'}onClick={() => setSelectedMedia('settings')}media={<DemoIcon />}/></MenuList></Page>);}