How to use the ProseMirror

#1

I use the Basic demo to create richEditor in react, and the web shows the right inputArea, and I GET the data from the input by

    import React, { useEffect,useState } from 'react';
    import { EditorState } from 'prosemirror-state';
    import { EditorView } from 'prosemirror-view';
    import { Schema, DOMParser } from 'prosemirror-model';
    import { schema } from 'prosemirror-schema-basic';
    import { addListNodes } from 'prosemirror-schema-list';
    import { exampleSetup } from 'prosemirror-example-setup';

    ...

    localStorage.setItem('state',JSON.stringify(window.view.state.doc.toJSON())) 

/** Save the value that will send to the server, when I click the submit btn**/

and I will get the data when I first render in Effect or the componentDidmount

  useEffect(() => {
    const mySchema = new Schema({
      nodes: addListNodes(schema.spec.nodes, 'paragraph', 'block'),
      marks: schema.spec.marks,
    });
    console.log('state',JSON.parse(localStorage.getItem('state')))
    window.view = new EditorView(document.querySelector('#editor'), {
      state: EditorState.create({
        doc: mySchema.nodeFromJSON(JSON.parse(localStorage.getItem('state'))),
        plugins: exampleSetup({ schema: mySchema }),
      }),
    });
  },[]);

:smile::smile::smile::smile::smile::smile::smile::smile::smile::smile:

:smile::smile::smile::smile::smile::smile::smile::smile::smile:

:smile::smile::smile::smile::smile::smile::smile::smile:

:smile::smile::smile::smile::smile::smile::smile:

:smile::smile::smile::smile::smile::smile:

:smile::smile::smile::smile::smile:

:smile::smile::smile::smile:

:smile::smile::smile:

:smile::smile:

:smile:

0 Likes