Как сделать дополнительный флажок у Гутенберга?

Вы не можете «сопоставить шаблон» с переменной, которая не является константой. Stream.empty не является «стабильным» идентификатором, поскольку он представляет собой некоторый метод:

/** The empty stream */
  override def empty[A]: Stream[A] = Empty

, который потенциально может вернуть любое значение в любое время. Компилятор не знает, что его возвращаемое значение всегда Empty, поэтому оно определяет его как потенциальную изменяющуюся переменную. Слишком глубоко, чтобы это обнаружить.

Однако, когда вы назначаете повтор метода методу val (будучи стабильным идентификатором с неизменяемым), ваш код может обрабатывать его с помощью шаблона.

Вы можете прочитайте этот , вызывая гипотезу, объясняющую, почему соответствие шаблонов ожидает стабильный идентификатор.

0
задан dakiesse 3 March 2019 в 19:58
поделиться

1 ответ

Вы можете добавить дополнительный флажок на боковой панели, используя InspectorControls и Checkbox Control

. Посмотрите на компонент галереи и узнайте, как реализовать вещи на боковой панели, используя [ 112]. Это может быть сложно, поэтому для упрощения реализации вы можете взглянуть на другие основные компоненты Гутенберга.

И эта ссылка может помочь вам в использовании CheckboxControl.

В приведенном выше коде вы просто добавляете хук, который меняет имя класса по умолчанию для галереи блоков, а это не то, о чем вы просите. Обратите внимание, что, насколько мне известно, вы не можете редактировать основные блоки по умолчанию (кроме очень немногих), если вы не скопируете весь основной блок и не добавите в него дополнительную функциональность.

0
ответ дан Mehmood Ahmad 3 March 2019 в 19:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: