TinyMCE-Vue组件销毁后无法初始化编辑器

环境说明:

        tinymce-vue: 3.2.8

        tinymce: 5.10.0 (使用引入)

        antd-design-vue:1.7.8

问题背景及描述

使用antd下Modal封装tinymce富文本编辑器

具体层级为

        Modal

                |-- Tab1

                |-- Tab2 (包含tinymce-editor)

                ...

在关闭modal后,进行了其他组件的切换,后二次打开modal,编辑器无法初始化,具体现象为 tinymce 生成的iframe中 body为空,反映到编辑器声明周期上为 init 未触发

TinyMCE-Vue组件销毁后无法初始化编辑器_第1张图片

解决方案

各种try:

        根据网上的各种方案建议,原因可能是编辑器内部缓存blabla,首先通过v-if绑定编辑器元素,条件内容为modal的visible变量及tab的activeKey ----------------------------------------failed

finally:

        修改v-if内容为一个reactive property,在父组件的mounted钩子中设置timeout事件,时间随意,在timeout中进行v-if条件的设置,这样就能保证在modal首次加载时,编辑器能够初始化。

TinyMCE-Vue组件销毁后无法初始化编辑器_第2张图片

 TinyMCE-Vue组件销毁后无法初始化编辑器_第3张图片

 

你可能感兴趣的:(一些问题的解决,编辑器,vue.js)