setContent command

The setContent command replaces the document with new content. You can pass JSON or HTML. It's basically the same as setting the content on initialization.

See also: insertContent, clearContent

Parameters

content

The new content as plain text or an HTML string, a Tiptap JSON object, an array of Tiptap JSON nodes, a Fragment, or a ProseMirror Node. The editor will only render what's allowed according to the schema.

options

Optional configuration object with the following properties:

parseOptions?: Record<string, any> Options to configure the parsing. Read more about parseOptions in the ProseMirror documentation.

errorOnInvalidContent?: boolean Whether to throw an error if the content is invalid.

emitUpdate?: boolean (true) Whether to emit an update event. Defaults to true (Note: This changed from false in v2).

Examples

// Plain text
editor.commands.setContent('Example Text')

// HTML
editor.commands.setContent('<p>Example Text</p>')

// JSON
editor.commands.setContent({
  type: 'doc',
  content: [
    {
      type: 'paragraph',
      content: [
        {
          type: 'text',
          text: 'Example Text',
        },
      ],
    },
  ],
})

// With options
editor.commands.setContent('<p>Example Text</p>', {
  emitUpdate: false,
  parseOptions: {
    preserveWhitespace: 'full',
  },
  errorOnInvalidContent: true,
})