方法
BlockNote 提供了多种方法与编辑器进行交互。
undo
undo
方法用于撤销上一个操作。
editor.undo();
redo
redo
方法用于重做上一个操作。
editor.redo();
exec
exec
方法执行一个 prosemirror 命令。 这主要是为了向后兼容旧代码。
建议尽可能使用 transact
方法,因为它会自动处理事务的分发,并且能在 blocknote 事务中工作。
// 自定义命令示例
function insertTextCommand(state: EditorState, dispatch: EditorDispatch, view: EditorView) {
if (dispatch) {
dispatch(state.tr.insertText("Hello, world!"));
}
}
editor.exec(insertTextCommand);
canExec
canExec
方法检查一个 prosemirror 命令是否可以执行。
const canExecute = editor.canExec(insertTextCommand);
transact
transact
方法执行一个 prosemirror 事务。更多信息请参见底层 API部分。
editor.transact((tr) => {
tr.insertText("Hello, world!");
});
pasteHTML
pasteHTML
方法将 HTML 粘贴到编辑器中。
editor.pasteHTML("<p>Hello, world!</p>");
pasteText
pasteText
方法将文本粘贴到编辑器中。
editor.pasteText("Hello, world!");
pasteMarkdown
pasteMarkdown
方法将 markdown 粘贴到编辑器中。
editor.pasteMarkdown("**Hello, world!**");