Я думаю, это потому, что блок EditableText
еще нестабилен, в текущей версии я вижу, что он основан на компоненте RichText:
import RichText from '../rich-text';
const EditableText = forwardRef( ( props, ref ) => {
return (
<RichText
ref={ ref }
{ ...props }
__unstableDisableFormats
preserveWhiteSpace
/>
);
} );
К сожалению, он вылетает, когда я пытаюсь его использовать (возможно, я делаю это неправильно), и использование RichText
в качестве кода из EditableText
не работает.
Решение : в документации RichText указано, что вы можете использовать атрибут formattingControls
, даже если он не рекомендуется для «простого ввода текста»: https://developer.wordpress.org/block-editor/developers/richtext/#unwanted -formatting-options-still-display
В качестве альтернативы, чтобы получить «чистую» реализацию Гутенберга вашего поля input
, вы можете использовать TextControl (остерегайтесь imports
в примере, он расположен в @wordpress/components
, а не @wordpress/blocks
):
import { TextControl } from '@wordpress/components';
import { withState } from '@wordpress/compose';
const MyTextControl = withState( {
className: '',
} )( ( { className, setState } ) => (
<TextControl
label="Additional CSS Class"
value={ className }
onChange={ ( className ) => setState( { className } ) }
/>
) );