首先在编辑函数中使用下拉选项声明一个变量-
const linkOptions = [
        { value: \'small\', label: __( \'Small\' ) },
        { value: \'normal\', label: __( \'Normal\' ) },
        { value: \'medium\', label: __( \'Medium\' ) },
        { value: \'large\', label: __( \'Large\' ) },
    ];
 我假设您将在侧栏面板中显示下拉选项。以下是panelbody的代码以及如何获取下拉值-
<PanelBody>
  <SelectControl
    label={ __( \'Size\' ) }
    value={ size }
    options={ linkOptions.map( ({ value, label }) => ( {
    value: value,
    label: label,
    } ) ) }
    onChange={ ( newSize ) => { setAttributes( { size: newSize } ) } }
   />
</PanelBody>
 这将在Inspector区域显示一个下拉面板,请注意,我正在使用(ES6)映射函数来迭代值和相应的标签。现在,出现了RichText组件,您可以在其中调用HTML节点-
<RichText
      tagName={ \'span\' }
      placeholder={ __( \'Enter Text\' ) }
      value={ text }
      onChange={ (text) => setAttributes( { text: text } ) }
      formattingControls={ [ \'bold\', \'italic\', \'strikethrough\' ] }
      className={`button-${size}`} /*ES6 Template Literals*/
      isSelected={ isSelected }
      keepPlaceholderOnFocus
/>
 请注意,具体取决于下拉选项。按钮大小附加到HTML节点类名。现在在编辑器样式表中,添加几个css类和属性-
button-small
button-normal
button-medium
button-large
 对于保存功能-
const save = ( props ) => {
    const {  size } = props.attributes;
    return (
        <div className={ `ubutton-${size}` }>
        </div>
    );
}