diff --git a/packages/tiptap-commands/src/commands/replaceText.js b/packages/tiptap-commands/src/commands/replaceText.js index d7209cca..6f275a32 100644 --- a/packages/tiptap-commands/src/commands/replaceText.js +++ b/packages/tiptap-commands/src/commands/replaceText.js @@ -1,4 +1,6 @@ -export default function (range = null, type, content = []) { +import { Fragment } from 'prosemirror-model' + +export default function (range = null, type, attrs = {}, fragment = Fragment.empty) { return (state, dispatch) => { const { $from, $to } = state.selection const index = $from.index() @@ -10,7 +12,7 @@ export default function (range = null, type, content = []) { } if (dispatch) { - dispatch(state.tr.replaceWith(from, to, content)) + dispatch(state.tr.replaceWith(from, to, type.create(attrs, fragment))) } return true diff --git a/packages/tiptap-extensions/src/nodes/Mention.js b/packages/tiptap-extensions/src/nodes/Mention.js index 25cd2b72..1514fdb6 100644 --- a/packages/tiptap-extensions/src/nodes/Mention.js +++ b/packages/tiptap-extensions/src/nodes/Mention.js @@ -31,8 +31,8 @@ export default class Mention extends Node { insertMention(range, attrs, schema) { const nodeType = schema.nodes[this.name] - const content = nodeType.create(attrs, this.createFragment(schema, attrs.label)) - return replaceText(range, nodeType, content) + const nodeFragment = this.createFragment(schema, attrs.label) + return replaceText(range, nodeType, attrs, nodeFragment) } get schema() {