MenuItem 是一个组件,用于渲染一个按钮,该按钮通常与 DropdownMenu 组件 配合使用。

用法

import { useState } from 'react';
import { MenuItem } from '@wordpress/components';

const MyMenuItem = () => {
    const [ isActive, setIsActive ] = useState( true );

    return (
        <MenuItem
            icon={ isActive ? 'yes' : 'no' }
            isSelected={ isActive }
            onClick={ () => setIsActive( ( state ) => ! state ) }
        >
            Toggle
        </MenuItem>
    );
};

属性

MenuItem 支持以下属性。任何额外传递的属性都会透传给底层的 Button。

children

  • 类型:Element
  • 是否必需:否

作为按钮子元素渲染的元素。

disabled

  • 类型:boolean
  • 是否必需:否

请参阅 Button 的 disabled 属性 文档。

info

  • 类型:string
  • 是否必需:否

用作按钮文本描述的文本。

请参阅 label 文档。

icon

  • 类型:string
  • 是否必需:否

请参阅 Button 的 icon 属性 文档。

iconPosition

  • 类型:string
  • 是否必需:否
  • 默认值:'right'

确定在哪里显示提供的 icon。

isSelected

  • 类型:boolean
  • 是否必需:否

菜单项当前是否被选中。仅当 role 属性为 "menuitemcheckbox" 或 "menuitemradio" 时,才会考虑 isSelected。

shortcut

  • 类型:string 或 object
  • 是否必需:否

如果 shortcut 是字符串,则期望其显示文本。如果 shortcut 是对象,它将接受 display(字符串)和 ariaLabel(字符串)属性。

role

  • 类型:string
  • 是否必需:否
  • 默认值:'menuitem'

Aria Spec。如果您需要可选择的菜单项,对于单选请使用 menuitemradio,对于多选请使用 menuitemcheckbox。

suffix

  • 类型:Element
  • 是否必需:否

允许向菜单项添加除图标或快捷键之外的标记。