onChange не запускается, когда редактор черновика находится в режиме readOnly - PullRequest
0 голосов
/ 04 ноября 2019

Событие onChange не вызывается, когда редактор черновиков находится в режиме readOnly. Я хочу сохранить режим readOnly, но он должен вызвать событие onChange, чтобы я мог сохранить свою работу.

             <Editor
                readOnly={true}
                onChange={this.onChange}
                ref={(e) => { this.editor = e; }}
                autoCapitalize="none"
                autoComplete="off"
                autoCorrect="off"
                spellCheck={false}
              />

1 Ответ

1 голос
/ 04 ноября 2019

, как следует из приведенного ниже, вы можете запускать свои действия сохранения при изменении редактора или событии размытия (но для производительности я рекомендую размытие):

const [editorState, setEditorState] = useState();
const [editable, setEditable]=useState(false);
const editorRef = useRef(null);

const onChange = (editorState) => {
  setEditorState(editorState);
};

const onBlur = (state) => {
   //  convertToRaw from draft-js;
  const contentState = convertToRaw(editorState.getCurrentContent());
  // save contentState      
};

return (
  <Editor
    editorState={editorState}
    readOnly={!editable}
    onChange={onChange}
    onBlur={onBlur}
    ref={editorRef}
    autoCapitalize="none"
    autoComplete="off"
    autoCorrect="off"
    spellCheck={false}
  />
)
...