PageKit — 可自托管的 GrapesJS 建站工具,附完整源码。 获取抢先体验

问题 #4195💬 已回答提出于 2022年3月15日作者 varadero1 个反应

Text disappears if pasted for a second time in text block

快速解答作者 jmaks1❤ 1

@artf 这个问题与最新版本相关。(v0.19.4) 如果你在编辑文本时复制粘贴嵌套组件,就会出现这个bug。普通粘贴(cmd + v)复制所有 html,包括 id,移除焦点后,带有相同 id 的 html 会被删除。

阅读下方完整回答 ↓

问题

GrapesJS版本 [X] 我确认使用最新版本GrapesJS 你用的是什么浏览器? 铬99 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?打开 https://grapesjs.com/demo.html并删除所有示例部分放置一个“文本版块”打开文本编辑器,输入3行文字。大致是这样的:从文本编辑器复制这三行回到演示页面,双击单词GrapesJSconsecterur前的文本部分(其他单词也可以)按CTRL+V粘贴文本点击外部提交更改将鼠标悬停在Line 2上,发现它是独立的Text元素在2前双击Line 2 按CTRL+V粘贴相同的两行文字点击外部提交更改 预期的行为是什么? 第二次粘贴的文本应该保存在原处 目前的行为是什么? 第二次粘贴的文本消失了 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: 步骤截图:进入 https://grapesjs.com/demo.html,删除所有示例部分。添加一个“文本部分”: ![图片](https://user-images.githubusercontent.com/7610713/158359978-d6d41d23-bd87-4005-a8c4-2d45324599ae.png)打开文本编辑器,输入3行并复制。双击文本部分的文本,移动插入符,紧接到单词co...

回答(4)

jmaks1• 2022年6月23日

@artf 这个问题与最新版本相关。(v0.19.4)

如果你在编辑文本时复制粘贴嵌套组件,就会出现这个bug。普通粘贴(cmd + v)复制所有 html,包括 id,移除焦点后,带有相同 id 的 html 会被删除。

varadero• 2022年3月15日

我可以确认这个问题只在Grapesjs 0.18.3出现——我降级到0.18.2后就没出现这个问题。旧版本也还可以。

jmaks1• 2022年6月23日

我可以确认这个问题只在Grapesjs 0.18.3出现——我降级到0.18.2后就没出现这个问题。旧版本也还可以。

在0.18.2版本中,嵌套组件不再在文本内部创建。

GJSBlock• 2026年5月17日

谢谢你举报,@varadero。 关于文本在第二次粘贴到文本块时会消失的好问题。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed')); 组件生命周期 editor.on('component:mount', (c) => console.lo...

相关问答

通过相似的问题讨论继续研究。

问题 #5378

未捕获类型错误:在图层管理器面板拖动组件时无法读取未定义属性(读取“Canvas”)。

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome v116.0.5845.97 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?从画布中选择任意组件打开图层...

4 个回答更新于 2023年9月16日

问题 #4447

Style manager does not accurately reflect inherited color

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 103.0.5060.114 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?点击父容器,比如演示中第一个包含 .con...

3 个回答更新于 2022年7月20日

问题 #4173

Text element does not work properly

GrapesJS 版本[X] 我确认使用最新版本 GrapesJS你用的是什么浏览器? Chrome v98可复制演示链接 https://grapesjs.com/demo.html描述一下那个虫子 我打开了一个笔记本(Win11) 我在记事本上写了:测试 [回车] 测试 [...

4 个回答更新于 2022年7月15日

问题 #3579

在放置“activeOnRender”组件后立即打开RTE时丢失了

版本: 0.17.4 你能重现演示中的bug吗?[x] 是的[ ] 不 繁殖步骤:前往[演示](https://grapesjs.com/demo.html)在画布内放置一个“文本”方块点击刚刚丢弃的“文本”组件打开的RTE丢失了位置(参见[附图](https://user-i...

4 个回答更新于 2022年1月17日

与此问题匹配的付费插件

根据问题关键词和标签相关性精选,助你更快交付。

查看全部插件

正在加载付费插件推荐……

免费方案

在以下平台查看开源 GrapesJS 插件: GitHub 或在我们的免费目录中快速搜索。

浏览免费插件 →
高级方案

高级插件提供支持、定期更新和生产就绪的功能——为你节省数天的集成工作。

浏览高级插件 →

相关教程

关于同一主题的深入指南。

全部教程 →

浏览插件分类

直接跳转到市场上的插件分类页面。