问题 #2493💬 已回答提出于 2020年1月7日作者 andrewryan19060 个反应

将组件拖曳到画布时数组长度无效

快速解答作者 andrewryan1906

还有另一个线索......一旦画布“坏掉”(我可以通过刷新页面并强制加载来稳定地解决......这种情况在新模板上不会发生,只有从自定义存储加载模板时才会出现,但我确认 JSON 没有损坏),如果我把一个组件拖到画布上,它会生成该组件的“幽灵”副本,尽管我没有丢弃它。每次我悬停到画布顶部,都会生成一个新的幽灵组件——同样,尽管我没有掉落。下方图片: ![图片](https://user-images.githubusercontent.com/37671394/71868798-bfae5380-30dd-11ea-80a5-4b384185348e.png) 欢迎任何想法,谢谢!

阅读下方完整回答 ↓

问题

不太清楚为什么,

但突然间,当我开始把组件拖到画布上时,会出现这个问题:

![图片](https://user-images.githubusercontent.com/37671394/71865841-2fb6dc80-30d2-11ea-8fa2-d43af2863f70.png)

这种情况似乎发生在我编辑模板、保存后重新加载时。当我尝试拖动新组件到页面的最后一个元素时,似乎也会出现这种情况;如果我尝试在模板内的DIV容器内拖动并放入元素,那就没问题。但如果我尝试在模板开头拖动它,我会看到我在#2494中引用的重复项目。我觉得这和这有关;某个地方存在一个不该是空的空数组。

不打算在应用之外搭建一个完整的沙盒来复现,有没有什么快速想法能解释一下可能是什么原因?

有什么办法可以帮我找到问题所在吗?

回答(2)

andrewryan19062020年1月7日

还有另一个线索......一旦画布“坏掉”(我可以通过刷新页面并强制加载来稳定地解决......这种情况在新模板上不会发生,只有从自定义存储加载模板时才会出现,但我确认 JSON 没有损坏),如果我把一个组件拖到画布上,它会生成该组件的“幽灵”副本,尽管我没有丢弃它。每次我悬停到画布顶部,都会生成一个新的幽灵组件——同样,尽管我没有掉落。下方图片:

![图片](https://user-images.githubusercontent.com/37671394/71868798-bfae5380-30dd-11ea-80a5-4b384185348e.png)

欢迎任何想法,谢谢!

andrewryan19062020年1月7日

好的, 我设法把grapes.js放进了我的Angular项目里,并引用了它而不是缩小版,这样我就能更深入了解到底发生了什么。问题似乎出在Sorter.js。findPosition 方法负责确定光标悬停在哪个元素上。不知为何,这行代码: 正在回归,NaN。这会在整个代码中进行欺骗,导致数组长度无效。 当我看调光灯时,它是一个二维数组,包含所有——我猜?- 画布上组件的尺寸,我看到: ![图片](https://user-images.githubusercontent.com/37671394/71871850-8b8c6000-30e8-11ea-8a13-1a8072734616.pn...

相关问答

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

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

浏览插件分类

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