块编辑器开发文档

CustomSelectControl

💡 云策文档标注

概述

CustomSelectControl 是一个 WordPress 组件,允许用户从单选项菜单中选择项目,类似于 SelectControl,但支持为菜单中的每个项目提供自定义样式。由于不使用原生 )、Radio、CheckboxControl、ToggleControl 和 ComboboxControl,根据场景选择。

代码示例

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

const options = [
    {
        key: 'small',
        name: 'Small',
        style: { fontSize: '50%' },
    },
    {
        key: 'normal',
        name: 'Normal',
        style: { fontSize: '100%' },
    },
    {
        key: 'large',
        name: 'Large',
        style: { fontSize: '200%' },
    },
    {
        key: 'huge',
        name: 'Huge',
        style: { fontSize: '300%' },
    },
];

function MyCustomSelectControl() {
    const [ , setFontSize ] = useState();
    return (
        <CustomSelectControl
            __next40pxDefaultSize
            label="Font Size"
            options={ options }
            onChange={ ( { selectedItem } ) => setFontSize( selectedItem ) }
        />
    );
}

function MyControlledCustomSelectControl() {
    const [ fontSize, setFontSize ] = useState( options[ 0 ] );
    return (
        <CustomSelectControl
            __next40pxDefaultSize
            label="Font Size"
            options={ options }
            onChange={ ( { selectedItem } ) => setFontSize( selectedItem ) }
            value={ options.find( ( option ) => option.key === fontSize.key ) }
        />
    );
}

注意事项

  • CustomSelectControl 不使用原生