问题 #2647💬 已回答提出于 2020年3月13日作者 jcamejo3 个反应

拖拽占位符并不能计算正确的宽度。

快速解答作者 artf1

说实话,我会保留“getElRect”原样,因为在这种情况下用“getComputedStyle”太贵了,而且函数本身是通用的(所以用“boundingRect.width = boundingRect.width - margin.left - margin.right”这样的功能就没意义)。 我很确定问题出在排序器里,计算元素维度的函数是['getDim'](https://github.com/artf/grapesjs/blob/57ce2aa3e169d7c91bd3f9ac76772ca6bc8cc538/src/utils/Sorter.js#L806)(那个很老的函数,我不指望有好逻辑),所以你应该从那里开始调查

阅读下方完整回答 ↓

问题

嗨@artf,希望你今天过得愉快。 当方块被拖入可能有横边边界的容器时,拖拽占位符有个小问题,上下边缘或填充也可能发生,但我不能百分百确定。 <img width=“1107” alt=“image” src=“https://user-images.githubusercontent.com/1976679/76625994-9e803e00-6538-11ea-900e-fbbe3769cabe.png”> 原因是计算容器尺寸的函数 getBoundingClientRect 在某些情况下表现不规则,返回元素宽度却未考虑影响计算的某些属性。 有人之前遇到过类似的问题。 https://stackoverflow.com/questions/28966678/getboundingclientrect-returning-wrong-results 在这种情况下,我们需要稍微调整一下位于 mixins 文件中的 getElRect 函数。我觉得这样的方法会有帮助,虽然我还需要再努力一点才能让它更正确。 目前我没时间做拉取请求,我写作问题是为了记录,我会尽快深入研究。 如果你想复制这个问题,可以创建一个包含这些属性的容器组件 .container { 还有一个可以作为容器子组件的 我用的是最新版本(v0.16.2),也许我漏掉了什么,这很容易解决。 此致敬礼, 胡安

回答(3)

artf2020年3月19日

说实话,我会保留“getElRect”原样,因为在这种情况下用“getComputedStyle”太贵了,而且函数本身是通用的(所以用“boundingRect.width = boundingRect.width - margin.left - margin.right”这样的功能就没意义)。 我很确定问题出在排序器里,计算元素维度的函数是['getDim'](https://github.com/artf/grapesjs/blob/57ce2aa3e169d7c91bd3f9ac76772ca6bc8cc538/src/utils/Sorter.js#L806)(那个很老的函数,我不指...

jcamejo2020年3月24日

我通过阅读“getDim”函数找到了“getElRect”,但我会再做一次研究,寻找其他解决方案。

谢谢!

相关问答

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

问题 #3309

TextNodes 在元素内容更改时会干扰

版本: 0.16.44 你好@artf 我有一个自定义方块,带有自定义按钮组件,内容和这个类似。 ` <a data-gjs-type=“custom_button” class=“btn btn-1” href=“”>Click here</a>' 此外,我添加了一个文本特性...

4 个回答更新于 2021年3月21日

问题 #3002

BUG:如果初始化时样式管理器面板未激活,CSS 属性不会正确加载

嗨,@artf! 让我来描述一下问题 版本: 16.22 预期的行为是什么? CSS 属性值和可见性设置应采用正确的配置 详细描述那个漏洞 如果在编辑器加载时样式管理器未激活,点击元素并打开样式属性时,它们不会被更新。 繁衍步骤 1 - 让样式管理器面板视图默认不激活 2 -...

2 个回答更新于 2022年2月8日

问题 #3250

问题:图层标签

@artf我很喜欢和GJS合作。我还有最后一件事希望你能帮忙。 如果能在图层管理器中自定义标签会非常有帮助。我到处找过,但都没找到。 默认显示“文本”和“框”的方式,对于想要高效导航来说帮助不大。 <img width=“204” alt=“截图 2021-01-28 07 2...

4 个回答更新于 2024年11月9日

问题 #2129

如何在默认模态中添加按钮并捕捉其点击事件

我想要一个模态内的表单(使用默认模态),点击提交按钮后发动AJAX调用。 我创建了一个新组件,可以拖拽时弹出一个模态。我能够将表格插入模态中 它看起来像这样: <img width=“1001” alt=“截图 2019-07-11 上午10:22” src=“https://...

3 个回答更新于 2024年12月18日

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

浏览插件分类

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