vue-element-admin icon indicating copy to clipboard operation
vue-element-admin copied to clipboard

tinymce富文本编辑器编辑时撤销数据丢失bug

Open DanPeony007 opened this issue 3 years ago • 6 comments

Bug report(问题描述)

tinymce富文本在有初始内容的时候,一开始不能撤销(正常),在这基础上再次编辑,这时候撤销,先是会撤销刚刚编辑的部分,到了初始内容的时候,按理应该不能再继续撤销了,但是这个vue-element-admin封装的tinymce,这时候还能撤销,直接清空了全文(tinymce官方文档是没有这个问题的,vue-element-admin封装的tinymce有这个问题),用户使用时觉得他的数据丢失了(虽然ctrl+Y反撤销直接就能回来,但是不要把用户想的太聪明,哎)

体验地址:https://panjiachen.github.io/vue-element-admin/#/components/tinymce

Steps to reproduce(问题复现步骤)

  1. 使用tinymce,加载初始内容,这时候是不能撤销的 --- 正常 image

  2. 编辑内容,这时候撤销(ctrl+Z或者工具栏undo) --- 正常 image

  3. 到了初始文档的时候,继续撤销,按理应该不能撤销了,但实际还是可以撤销 --- 不正常 image

4、继续撤销,就清空全文了 --- 不正常 image

Screenshot or Gif(截图或动态图)

image image

Link to minimal reproduction(最小可在线还原demo)

Other relevant information(格外信息)

  • Your OS:
  • Node.js version:
  • vue-element-admin version:

DanPeony007 avatar Apr 09 '21 06:04 DanPeony007

后来就在tinymce封装组件中,加了一句代码,该bug就不出现了,但是我不确保有没有其他问题

image

原来作者用的是 setContent 和 getContent 方式来赋值取值,我现在代码中有 v-model 双向绑定,同时也有手动操作值,会不会有其他影响(暂不可知)

DanPeony007 avatar Apr 12 '21 09:04 DanPeony007

Thank you for your help- can’t read your message but thank you so so much Sent from my iPhone On Apr 9, 2021, at 2:33 AM, Dan @.***> wrote:  Bug report(问题描述) tinymce富文本在有初始内容的时候,一开始不能撤销(正常),在这基础上再次编辑,这时候撤销,先是会撤销刚刚编辑的部分,到了初始内容的时候,按理应该不能再继续撤销了,但是这个vue-element-admin封装的tinymce,这时候还能撤销,直接清空了全文(tinymce官方文档是没有这个问题的,vue-element-admin封装的tinymce有这个问题),用户使用时觉得他的数据丢失了(虽然ctrl+Y反撤销直接就能回来,但是不要把用户想的太聪明,哎) 体验地址:https://panjiachen.github.io/vue-element-admin/#/components/tinymce Steps to reproduce(问题复现步骤) 使用tinymce,加载初始内容,这时候是不能撤销的 --- 正常 编辑内容,这时候撤销(ctrl+Z或者工具栏undo) --- 正常 到了初始文档的时候,继续撤销,按理应该不能撤销了,但实际还是可以撤销 --- 不正常 4、继续撤销,就清空全文了 --- 不正常 Screenshot or Gif(截图或动态图) Link to minimal reproduction(最小可在线还原demo) Other relevant information(格外信息) Your OS: Node.js version: vue-element-admin version: — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.


你好,按前面操作步骤复现即可(注意,最后一步撤销是异常的)

DanPeony007 avatar Apr 12 '21 09:04 DanPeony007

我也遇到了这个问题,感谢你提供的解决方案

jennylvandpeace avatar Jun 11 '21 07:06 jennylvandpeace

我遇到了,改不来。 只要肯放弃,也许就没有问题了。

DamonEmail avatar Dec 21 '23 07:12 DamonEmail

这是来自QQ邮箱的假期自动回复邮件。   您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。

jennylvandpeace avatar Dec 21 '23 08:12 jennylvandpeace

贴出我的解决方案: 传入editor组件一个默认备份值,例如回显的基础数据。 editor监听undo事件,并使用nextTick以及getContent方法捕捉最新内容数据,如果为0,则将默认备份值赋值给content值。 image

DamonEmail avatar Dec 21 '23 10:12 DamonEmail