在Vuejs中带有保存插件的TinyMCE组件上的event.preventDefault()之后,事件仍然触发页面重新加载

我想使用TinyMCE的默认保存机制来手动触发一个事件,以将文档的内容保存到服务器。

TinyMCE vuejs集成,具有一个onSaveContent事件,该事件会触发但不接受event.preventDefault()并取消页面重新加载。因为在vuejs中重新加载页面是没有用的。 https://www.tiny.cloud/docs/integrations/vue/

保存插件,说明我需要一个表单和按钮元素。 https://www.tiny.cloud/docs/plugins/save/

有人也遇到过这个问题吗? 我还尝试通过ID获取表单,并尝试取消表单提交,还设置了发布方法,将不会更改任何内容。

那么创建自己的保存功能会更好吗?

HTML标记

<form id="document-form">
  <tinymce-editor 
    api-key="xxx-xxx-xxx-xxx"
    v-model="document.contents"
    :init="{
      plugins: ['wordcount','autoresize','code','fullscreen','image','link','save','table','toc'],toolbar: 'save | undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent'
    }" 
    @onSaveContent="saveDocument"
   ></tinymce-editor>
  <button class="submitbtn" name="submitbtn"></button>
</form>

Vuejs回调方法:

methods: {
  saveDocument: function (event,editor) {
    event.preventDefault()
    console.log(event)
    console.log(editor)
    console.log('save now my child!')
  },}

编辑1:

我还尝试了以下方法: enter link description here基本上向事件监听器添加.prevent就像这样:@onSaveContent.prevent="saveDocument"也将不起作用。

而且也不是:

<form
  id="document-form"
  @submit.prevent="saveDocument"
>

修改2: 我放弃了默认行为,现在使用一个确实适用于回调的自定义按钮来复制保存功能,并捕获ctrl +S。 确实有效。

yegenting1 回答:在Vuejs中带有保存插件的TinyMCE组件上的event.preventDefault()之后,事件仍然触发页面重新加载

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3081743.html

大家都在问