带有 ReactJs 的 TinyMCE - onChange 事件只触发一次

TinyMCE with ReactJs - onChange event only firing once

我在我的 reactjs 应用程序中使用 tinyMCE。 onChange 事件将触发一次,在警报中正确反映输入数据。那我什么也得不到。

相关代码如下:

<Editor init={{
    statusbar: false,
    menubar: false,
    }}
    onChange={this.SetText}
 />

onChange 方法:

SetText(e) {
    alert(e.target.getContent());
}

也许其中一个事件比 onChange 传递得更好?

  • KeyDown - 在编辑器中按下某个键时触发。
  • KeyPress - 在编辑器中按下某个键时触发。
  • KeyUp - 在编辑器中释放按键时触发。

https://www.tiny.cloud/docs/advanced/events/

其实你使用的事件是不对的。对于 reactJs 插件,他们有 onEditorChange。您可以按如下方式使用它

<Editor
  apiKey="MyAPIKey"
  initialValue=""
  init={{
    height: 500,
    menubar: false,
    plugins: [
      'advlist autolink lists link image charmap print preview anchor',
      'searchreplace visualblocks code fullscreen',
      'insertdatetime media table paste code help wordcount'
    ],
    toolbar:
      'undo redo | formatselect | bold italic backcolor | \
      alignleft aligncenter alignright alignjustify | \
      bullist numlist outdent indent | removeformat | help'
  }}
  onEditorChange={this.onChange}
/>

然后您可以使用

访问编辑器的内容
  onChange = (content) => {
    console.log(content);
  }

e.target 不需要