MenuItemsChoice 是 WordPress 组件库中的一个组件,功能类似于一组 MenuItems,但允许用户从多个选项中选择一个。它通常用于 DropdownMenu 中,以提供单选功能。
import { useState } from 'react';
import { MenuGroup, MenuItemsChoice } from '@wordpress/components';
const MyMenuItemsChoice = () => {
const [ mode, setMode ] = useState( 'visual' );
const choices = [
{
value: 'visual',
label: 'Visual editor',
},
{
value: 'text',
label: 'Code editor',
},
];
return (
<MenuGroup label="Editor">
<MenuItemsChoice
choices={ choices }
value={ mode }
onSelect={ ( newMode ) => setMode( newMode ) }
/>
</MenuGroup>
);
};MenuItemsChoice functions similarly to a set of MenuItems, but allows the user to select one option from a set of multiple choices.

A MenuItemsChoice should be housed within in its own distinct MenuGroup, so that the set of options are distinct from nearby MenuItems.
MenuItemsChoice is used in a DropdownMenu to present users with a set of options. When one option in a MenuItemsChoice is selected, the others are automatically deselected.

MenuItemsChoice has an associated keyboard shortcut, that should be displayed to the right of the menu title, aligned to the right side of the menu item. Selected choices should not have visible shortcuts, since they are already active.MenuItemsChoiceUse MenuItemsChoice when you want users to:
MenuItemsChoice should not be used to toggle individual features on and off. For that, consider using a FeatureToggle.
When using MenuItemsChoice , one option should be selected by default (i.e., when the page loads, in the case of a web application).
User control
Selecting an option by default communicates that the user is required to choose one in the set.
Expediting tasks
When one choice in a set of MenuItemsChoice is the most desirable or frequently selected, it’s helpful to select it by default. Doing this reduces the interaction cost and can save the user time and clicks.
The power of suggestion
Designs with a MenuItemsChoice option selected by default make a strong suggestion to the user. It can help them make the best decision and increase their confidence. (Use this guidance with caution, and only for good.)
import { useState } from 'react';
import { MenuGroup, MenuItemsChoice } from '@wordpress/components';
const MyMenuItemsChoice = () => {
const [ mode, setMode ] = useState( 'visual' );
const choices = [
{
value: 'visual',
label: 'Visual editor',
},
{
value: 'text',
label: 'Code editor',
},
];
return (
<MenuGroup label="Editor">
<MenuItemsChoice
choices={ choices }
value={ mode }
onSelect={ ( newMode ) => setMode( newMode ) }
/>
</MenuGroup>
);
};