在放置“activeOnRender”组件后立即打开RTE时丢失了
问题
版本: 0.17.4 你能重现演示中的bug吗?[x] 是的[ ] 不 繁殖步骤:前往[演示](https://grapesjs.com/demo.html)在画布内放置一个“文本”方块点击刚刚丢弃的“文本”组件打开的RTE丢失了位置(参见[附图](https://user-images.githubusercontent.com/9916749/123977724-89465180-d9bf-11eb-9e99-d1b1f9cb897c.png)) 预期的行为是什么? 打开的RTE应正确定位 目前的行为是什么? RTE位置不对,它隐藏了“文本”部分的内容,可能妨碍编辑(尤其是使用像CKEditor这样较大的自定义RTE时)。 这只发生在RTE第一次打开时,且仅当丢弃的方块是“Text”组件,且“activeOnRender”选项设置为“true”时才会发生。 这是由于[工具栏位置计算错误](https://github.com/artf/grapesjs/blob/dev/src/richtexteditor/index.js#L278)导致的,当[其“offsetHeight”等于0](https://github.com/artf/grapesjs/blob/8b423fdf093865a6bf55dc8285030ce99c111d6d/src/canvas/index....
回答(4)
是的,我想你说得对。实际上,在没有选择组件的情况下激活RTE其实没什么意义(可能对所有其他“可激活”的方块来说都合理)。
嗨。我和@ronaldohoch找到了一个解决这个问题的办法。
当 RTE 启用时,我们会触发滚动事件。 这是代码:
“JavaScript 触发Canvas上的滚动事件,使得葡萄 正确修复CKEditor位置 editor.on(“rte:enable”, () => { editor.trigger('canvasScroll'); });
你好,刚刚更新了提交 bb4a661 的文件,我觉得非常接近,我用的是 grapesjs-ckeditor 代码和 RTE 的第一次打开,its 放置正确:  但第二次打开时,又放错地方了...... :/  => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在报告中包含 GrapesJS 版本、浏览器和控制台错误
相关问答
通过相似的问题讨论继续研究。
问题 #3794
当宽度和高度为画布100%时,基本文本组件中的RTE重叠文本
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 版本 93.0.4577.82(官方构建)(64位) 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 中,粘贴的节点位于复制节点之后。但在画布中,粘贴的...
问题 #4837
HTML元素的ID会在projectData加载的不同页面上递增
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Firefox 109 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 你好, 我注意到当我在 projectData 中加载多个 HTML 中使用...
问题 #5378
未捕获类型错误:在图层管理器面板拖动组件时无法读取未定义属性(读取“Canvas”)。
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v116.0.5845.97 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?从画布中选择任意组件打开图层管理器面板...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
GrapesJS DevTools: A Developer Panel Inside Your Editor
If you've ever debugged GrapesJS with console.log(editor.getSelected()) and a dozen throwaway event listeners — this post is for you.
教程
How to Build a Production GrapesJS Editor: The Complete Walkthrough of Brief, Preset, Plugins, and Services
A complete walkthrough of building a production GrapesJS editor: how to choose a preset, pick plugins, and scope setup services without burning a sprint.
教程
Big Updates: TinyMCE 8 and Placeholder 2.0 for GrapesJS
In May we shipped major updates to two of our most popular GrapesJS plugins — TinyMCE Inline Text Editor and Placeholder.
浏览插件分类
直接跳转到市场上的插件分类页面。