Добавление пользовательского блока в конце редактора содержимого в slatejs реагирует

Я создал редактор, используя Slate JS в реагировать. Я пытаюсь вставить блок в конец содержимого редактора. Я сталкивался с методом, чтобы вставить блок в диапазоне. Как указать диапазон документа таким образом, чтобы мои пользовательские блоки добавлялись в конце содержимого, но фокус оставался на текущем выделении, а не на конце документа.

function insertFile(editor, src, target) {
  editor.insertBlock({
    type: 'file',
    data: { src },
  })
}

Моя схема выглядит так

const schema = {
  blocks: {
    file:{
      isVoid: true
    }
  }
}

1 ответ

Используя объект Transforms , он ведет себя так, как вы хотели.

      import { Transforms } from 'slate'

Transforms.insertNodes(
    editor,
    { type: 'paragraph', children: [{ text: 'xxxx' }] },
    { at: [editor.children.length] }
)

Чтобы увидеть документ для этого: Link1 Link2

Другие вопросы по тегам