簡體   English   中英

TinyMCE 使用 Save 插件時 React 中出現“錯誤:未找到表單元素”

[英]TinyMCE 'Error: No form element found' in React when using the Save plugin

我試圖弄清楚保存插件如何在 TinyMCE 中為 React 工作。 我希望用戶能夠單擊保存按鈕並將內容保存到數據庫(此處未包含代碼),但是我嘗試的任何方法都只是不斷收到錯誤Error: No form element found 例如,請考慮這個組件:

const Component = () => {
  const [editorContent, setEditorContent] = useState('');

  const handleEditorInit = () => {
    setEditorContent(someInitialContent);
  }

  const handleEditorChange = (content, editor) => {
    setEditorContent(content);
    console.log(content); // correctly shows formatted content
  }

  const handleOnSubmit = (content, editor) => {
    console.log(content); // correctly shows formatted content
  }

  return (
    <Fragment>
      <Editor
        apiKey="api-key"
        id="my-editor"
        value={editorContent}
        init={{
          menubar: false,
          inline: true,
          plugins: [
            'advlist lists image charmap print preview anchor',
            'searchreplace visualblocks code fullscreen',
            'insertdatetime media table paste code help wordcount save'
          ],
          toolbar:
            'undo redo | bold italic underline backcolor forecolor | \
            removeformat | save'
        }}
        onEditorChange={handleEditorChange}
        onInit={handleEditorInit}
        onSubmit={handleOnSubmit} // doesn't get rid of the error
      />
    </Fragment>
  );
}

渲染上述組件時,內容會顯示在編輯器中,並且可以格式化(粗體/下划線等)而不會出現任何問題。 onInitonEditorChangeonSubmit事件處理程序按預期工作(接收格式化的內容),但是當我單擊工具欄上的保存按鈕時,我仍然收到錯誤no form element found
我嘗試將<Editor>組件包裝在<form>標記中,並且我還嘗試使用 TinyMCE 提供的onSaveContent事件處理程序,但我仍然收到錯誤消息。 我不明白為什么我不斷收到Error: no form element found錯誤。 我到處尋找解決方案,但似乎找不到。 特別不是專門針對 React 的。 在這里這里發現了類似的問題,但我仍然堅持下去,不知道解決方案如何適合 React。
我是在實施錯誤還是有人知道我的實施哪里出了問題?
任何幫助是極大的贊賞。 先感謝您。

save插件旨在提交包含底層 TinyMCE <textarea>的標准 HTML 表單。 如果您使用 React,我懷疑您的表單提交將通過一些特定於 React 的 JavaScript 而不是標准的 HTML 表單作為標准表單提交來處理,因為標准表單提交會使整個頁面刷新,這與 React 或其他 SPA 框架的趨勢非常不同操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM