Так я получал блоки в текстовом редакторе Slate версии ^ 0.42.2.
import { Value, Block } from 'slate';
const value = loadInitialData ? Value.fromJSON(initialValue) : Value.create();
getTitle = (value) => {
const firstBlock = value.document.getBlocks().get(0);
const secondBlock = value.document.getBlocks().get(1);
const title = firstBlock.text ? firstBlock.text : 'No Title';
const subTitle = secondBlock.text ? secondBlock.text : 'No SubTitle';
return {title, subTitle};
}
Теперь он прошел критические изменения, его API-интерфейс полностью изменен, и я не вижу ни одного примера, как чтобы получить узел из его DOM.
Я пробовал это, но я получил Ошибка: Не могу найти потомка по пути [0] в узле: {"children": [], "operations": [], "selection": null, "marks" : null, "history": {"undos": [], "redos": []}}
import { Node } from "slate";
const node = Node.get(editor, [0])
console.log("node",node)
я хочу выбрать первый элемент узла в качестве заголовка и затем сохранить блог в базу данных. Я не мог прогрессировать последние 2 дня, я прочитал весь список. js API, прочитал почти все проблемы в github, не мог понять.
const getTitle = () => {
const [firstBlock, secondBlock] = value;
const title =
firstBlock && firstBlock.type === "heading-one"
? firstBlock.children[0].text
: "No title";
const subtitle =
secondBlock && secondBlock.type === "heading-two"
? secondBlock.children[0].text
: "No subtitle";
return {
title,
subtitle
};
};
Когда я написал это, я получил сообщение об ошибке «myValue не повторяется». затем я переключился на это:
const firstBlock = myValue[0];
const secondBlock = myValue[1];
теперь оба значения возвращаются неопределенными. это значение, которое я имею в текстовом редакторе: