菜单列表是 列表视图 的扩展。与普通的链接列表不同,菜单列表旨在指示应用程序当前活动屏幕(或部分)。将其视为 标签栏 的列表形式。
以下组件包含在内:
MenuList
- 菜单列表组件MenuListItem
- 菜单列表项元素MenuList
组件没有特定的属性,但由于它扩展了 List
组件,因此它支持所有 List
属性
MenuListItem
组件扩展了 ListItem
组件,它支持所有 ListItem
属性 以及以下附加属性
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
active | 布尔值 | false | 使菜单列表项突出显示(活动) |
href | 字符串 | 布尔值 | 菜单列表项链接的 | |
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>);}