Menu

维护者:
NikitaCG
GitHub
size
groupLabel
itemChildren
itemTheme
itemDisabled
itemSelected
itemActive
itemHref
import {Menu} from '@gravity-ui/uikit';

Menu 组件可以轻松地为操作列表创建视图。

它具有用于项目(Menu.Item )和群组(Menu.Group)的专用组件。您可以将它们组合起来创建更复杂的菜单。

<Menu>
    <Menu.Item>First</Menu.Item>
    <Menu.Item>Second</Menu.Item>
</Menu>

大小

此属性用于选择菜单大小。默认值为 m

<Menu size="s">
    <Menu.Item>First</Menu.Item>
    <Menu.Item>Second</Menu.Item>
</Menu>
<Menu size="m">
    <Menu.Item>First</Menu.Item>
    <Menu.Item>Second</Menu.Item>
</Menu>
<Menu size="l">
    <Menu.Item>First</Menu.Item>
    <Menu.Item>Second</Menu.Item>
</Menu>
<Menu size="xl">
    <Menu.Item>First</Menu.Item>
    <Menu.Item>Second</Menu.Item>
</Menu>

属性

姓名描述类型默认
尺寸菜单大小"s" "xl""m"
儿童子元素React.ReactNode
classNameclass HTML 属性string
风格style HTML 属性React.CSSProperties
qadata-qa HTML 属性,用于测试string

菜单。项目

此属性用于渲染菜单项。

图标

使用 iconStarticonEnd 属性在菜单项的开头或结尾显示图标:

<Menu>
    <Menu.Item iconStart={<Icon size={16} data={GearIcon} />}>Item with icon</Menu.Item>
    <Menu.Item>Item without icon</Menu.Item>
</Menu>
<Menu>
    <Menu.Item iconEnd={<Icon size={16} data={TriangleExclamation} />}>Item with icon</Menu.Item>
    <Menu.Item>Item without icon</Menu.Item>
</Menu>

国家

使用此属性,您可以启用或禁用(灰色)特定菜单项:

<Menu>
    <Menu.Item disabled>First</Menu.Item>
    <Menu.Item>Second</Menu.Item>
    <Menu.Item selected>Third</Menu.Item>
</Menu>

主题

这允许您更改菜单项主题。默认主题是 normal

<Menu>
    <Menu.Item theme="danger">First</Menu.Item>
    <Menu.Item theme="normal">Second</Menu.Item>
    <Menu.Item>Third</Menu.Item>
</Menu>

属性

姓名描述类型默认
iconStart项目文本前的菜单图标ReactNode
iconEnd项目文本后的菜单图标ReactNode
已选中菜单项选定标志booleanfalse
残疾的菜单项禁用标志booleanfalse
活跃菜单项活动标志booleanfalse
href网址string
标题标题属性string
目标目标属性string
真实真实属性string
onClickonclick 事件的处理器React.MouseEventHandler
主题菜单项主题"normal" "danger""normal"
儿童子元素React.ReactNode
classNameclass HTML 属性string
风格style HTML 属性React.CSSProperties
qadata-qa HTML 属性,用于测试string
extraProps其他 HTML 属性Record

菜单群组

您可以在单个菜单中按主题对项目进行分组:

<Menu>
    <Menu.Item>First</Menu.Item>
    <Menu.Group label="Group One">
        <Menu.Item>One</Menu.Item>
        <Menu.Item>Two</Menu.Item>
    </Menu.Group>
    <Menu.Group label="Group Two">
        <Menu.Item>One</Menu.Item>
        <Menu.Item>Two</Menu.Item>
    </Menu.Group>
    <Menu.Item>Middle</Menu.Item>
    <Menu.Group label="Group Three">
        <Menu.Item>One</Menu.Item>
        <Menu.Item>Two</Menu.Item>
    </Menu.Group>
    <Menu.Item>Last</Menu.Item>
</Menu>

属性

姓名描述类型默认
标签菜单组标签string
儿童子元素React.ReactNode
classNameclass HTML 属性string
风格style HTML 属性React.CSSProperties
qadata-qa HTML 属性,用于测试string