Skip to Content

Menu

Combine a list of secondary actions into a single interactive dropdown area.

Import

import { Menu } from '@tidbcloud/uikit'

Basic Usage

import { Menu, Button, Text } from '@tidbcloud/uikit' import { IconSettings, IconTrash } from '@tabler/icons-react' function Demo() { return ( <Menu shadow="md" width={200}> <Menu.Target> <Button>Toggle menu</Button> </Menu.Target> <Menu.Dropdown> <Menu.Label>Application</Menu.Label> <Menu.Item leftSection={<IconSettings size={14} />}>Settings</Menu.Item> <Menu.Divider /> <Menu.Label>Danger zone</Menu.Label> <Menu.Item color="red" leftSection={<IconTrash size={14} />}> Delete my account </Menu.Item> </Menu.Dropdown> </Menu> ) }
import { Button, Menu } from '@tidbcloud/uikit' function Demo() { return ( <Menu width={200} position="bottom-start"> <Menu.Target> <Button>Toggle Menu</Button> </Menu.Target> <Menu.Dropdown> <Menu.Item>Dashboard</Menu.Item> <Menu.Sub> <Menu.Sub.Target> <Menu.Sub.Item>Products</Menu.Sub.Item> </Menu.Sub.Target> <Menu.Sub.Dropdown> <Menu.Item>All products</Menu.Item> <Menu.Item>Categories</Menu.Item> </Menu.Sub.Dropdown> </Menu.Sub> </Menu.Dropdown> </Menu> ) }

Controlled

import { useState } from 'react' import { Menu } from '@tidbcloud/uikit' function Demo() { const [opened, setOpened] = useState(false) return ( <Menu opened={opened} onChange={setOpened}> {/* Menu content */} </Menu> ) }

Hover Trigger

import { Menu } from '@tidbcloud/uikit' function Demo() { return ( <Menu trigger="hover" openDelay={100} closeDelay={400}> {/* ... menu items */} </Menu> ) }

Key Props

PropTypeDescription
openedbooleanControlled menu opened state
onChange(opened: boolean) => voidCalled when menu opened state changes
trigger'click' | 'hover' | 'click-hover'Event trigger to open menu
openDelaynumberOpen delay in ms (for hover trigger)
closeDelaynumberClose delay in ms (for hover trigger)
widthnumber | stringDropdown width
positionFloatingPositionDropdown position relative to target
shadowMantineShadowDropdown shadow
withArrowbooleanDisplay arrow pointing to target
closeOnItemClickbooleanClose menu when item is clicked
disabledbooleanDisable menu dropdown
Last updated on