问题 #1895💬 已回答提出于 2019年3月15日作者 simplecommerce0 个反应

用脚本拖拽组件到画布上,脚本多次附加。

快速解答作者 simplecommerce

所以我查了一下,发现是“canvasView”里的“updateScript”方法每次在组件上发现“脚本”属性时都会被调用,不管它是否还在画布上拖拽。 我做了一些补丁测试,似乎解决了问题。 我不得不这样覆盖,因为我不想直接修改原始代码,以防将来被修复。 我不知道怎么检测模型是否正在被拖拽,只注意到当组件被丢弃到画布时,调用了“updateScript”,“modelOpt”有一个额外的属性“at”,所以就依赖这个。 直到有人做出更好、更干净的修复方法。

阅读下方完整回答 ↓

问题

你好,不确定这是不是个bug。

但我注意到一个奇怪的行为,当我拖动一个包含脚本函数组件的方块时,它似乎先把它附加到画布里,然后才被丢弃。

当你放下它时,它又会附上另一个剧本。

如果你从不放下方块,只是一直拖拉,它会尽可能多次地附加。

而且当我点击“清除画布”时,它似乎从未发出声音,我不得不手动操作:

“编辑。Canvas.getCanvasView().getJsContainer().innerHTML = '';'

为了清理画布,JS。

这是你演示页面上问题的截图。

![图片](https://user-images.githubusercontent.com/31987945/54397884-5eb91900-468e-11e9-8a53-779603fe53cb.png)

回答(3)

simplecommerce2019年3月17日

所以我查了一下,发现是“canvasView”里的“updateScript”方法每次在组件上发现“脚本”属性时都会被调用,不管它是否还在画布上拖拽。 我做了一些补丁测试,似乎解决了问题。 我不得不这样覆盖,因为我不想直接修改原始代码,以防将来被修复。 我不知道怎么检测模型是否正在被拖拽,只注意到当组件被丢弃到画布时,调用了“updateScript”,“modelOpt”有一个额外的属性“at”,所以就依赖这个。 直到有人做出更好、更干净的修复方法。

simplecommerce2019年3月31日

之前的解决方案没用,我只好放弃,于是重新打开了问题。

artf2019年4月3日

你好@simplecommerce如果你认为这是个bug,请按照模板打开问题,并创建一个可复现的实时演示。这非常重要,因为我们没有太多空闲时间,可能会把大部分时间浪费在与库本身无关的调试上

相关问答

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

问题 #950

Editor.setdevice() 在某些浏览器上无法正常工作。

我通过 editor.setdevice 函数在 document.ready 函数中调用它来更改设备。大多数设备上运行正常,但在某些 MacBook 上,使用 Google Chrome 浏览器时,它只改变了画布大小,没有更新显示设备名称的下拉菜单。请帮我解决这个bug。我还...

2 个回答更新于 2019年9月17日

问题 #1340

选定的光芒在失焦后依然存在

大家好, 我遇到了这个bug,点击一个方块时它会高亮它,但周围会出现奇怪的边框 街区。检查边框后我还发现它破坏了代码,所以我也无法导出。我猜这不是正常行为,有什么建议能解决吗?以下图片供参考。 <img width=“665” alt=“截图 2018-08-06 上午9:58...

1 个回答更新于 2019年9月17日

问题 #1407

每次保存HTML数据时都会增加额外的正文。

你好,@artf, 我遇到过一个问题:当我在编辑器里有表格时,我添加新行,如果我的表格在重新加载时被保存,表格会被多加一个 tbody 标签。 ![截图 2018-09-06 12 54 37](https://user-images.githubusercontent.com...

2 个回答更新于 2019年9月17日

问题 #1801

移动视图中的CSS

我开发了一个Grapesjs应用程序,当我从桌面切换到移动端时,画面会失真。请帮帮我...... 桌面视图: ![截图151](https://user-images.githubusercontent.com/41181457/52912309-a4740300-32d5-1...

1 个回答更新于 2020年2月21日

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

浏览插件分类

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