[英]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>
);
}
渲染上述組件時,內容會顯示在編輯器中,並且可以格式化(粗體/下划線等)而不會出現任何問題。 onInit
, onEditorChange
和onSubmit
事件處理程序按預期工作(接收格式化的內容),但是當我單擊工具欄上的保存按鈕時,我仍然收到錯誤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.