问题 #3295💬 已回答提出于 2021年3月1日作者 marcepoblet0 个反应

BUG(v0.16.41):带有可拖拽属性的按钮组件无法正常工作

快速解答作者 artf

我猜你做错了什么,你是怎么创建这些组件及其属性的?你甚至不应该在检查员里看到这些属性。

阅读下方完整回答 ↓

问题

版本: v0.16.41

你能重现演示中的bug吗?

[ ] 是的 [ ] 不

预期的行为是什么? 当我们有一个属性为 data-gjs-draggable 的 false 按钮时,这个按钮不应在画布中被拖动。

详细描述那个漏洞** 步骤

  • 将带有可拖拽属性的按钮组件设置为 false
  • 将按钮拖入其他组件内
  • 拖动按钮

目前的行为是什么? 步骤

  • 将带有可拖拽属性的按钮组件设置为 false
  • 将按钮拖入其他组件内
  • 按钮不应拖动

你能附上截图、截屏或实时演示吗?

[ ] 是的(附上视频)

https://user-images.githubusercontent.com/64096863/109490335-da245880-7a66-11eb-8143-8ead257c9ba8.mp4

回答(4)

artf2021年3月4日

我猜你做错了什么,你是怎么创建这些组件及其属性的?你甚至不应该在检查员里看到这些属性。

marcepoblet2021年3月4日

@artf 我们的准则中没有做任何更改。唯一的区别是我们更新了GrapesJs的版本。 之前我用的是v0.16.18版本,运行正常,但现在我们把GrapesJs更新到v0.16.41后,按钮功能就不行了。

marcepoblet2021年3月4日

我们用以下方式设置属性: editor.getSelected().attributes.attributes[“data-gjs-editable”] = 'false' editor.getSelected().attributes.attributes[“data-gjs-copyable”] = 'false' editor.getSelected().attributes.attributes[“data-gjs-droppable”] = 'false' editor.getSelected().attributes.attributes[“data-gjs-draggable”...

ClaudeCode2026年5月17日

谢谢你举报,@marcepoblet。 BUG(v0.16.41):带有可拖拽属性的按钮组件无法正常工作的问题似乎是竞态条件或状态管理时序的问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在报告中包含 GrapesJS 版本、浏览器和控制台错误

相关问答

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

问题 #4255

如果你在程序上将可拖拽道具设置为false,初始工具栏的移动按钮不会被移除

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome v98.0.4758.80可复制演示链接 https://jsfiddle.net/am1rb/3uzkn5t7/8/描述一下那个虫子 如何复现这个漏洞?在画布上渲染一个简单的组件将组件...

2 个回答更新于 2022年4月13日

问题 #3579

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

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

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

问题 #3674

隐形网络组件

版本: 0.17.19 目前的行为是什么? 新增的 webcomponent 是可见的: 在 grapesjs 容器内添加网页组件时,如果组件在 shadow DOM 中有元素,组件是空的。(如果不使用 shadow dom 创建组件,则没有问题。)在图层管理器中可以看到,但是...

4 个回答更新于 2021年8月30日

问题 #3166

复制粘贴节点的问题

*版本:0.16.27 你能重现演示中的bug吗? [ ]是的 [ ] 不 预期的行为是什么? 在右侧面板和画布中,粘贴的节点应该在复制的节点之后。 目前的行为是什么? 我复制一个节点。在views-container(右面板)中,粘贴的节点位于复制节点之后。但在画布中,粘贴的...

4 个回答更新于 2020年12月6日

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

相关教程

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

全部教程 →

浏览插件分类

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