javascript - 在 gridstack.js(Angular 2+)中重置会保留 HTML 属性的旧值,从而在下次调整大小或拖动时导致问题
问题描述
我正在为我的 Angular 7 应用程序使用 gridstack.js v^4.2.5。我可以通过
在 GridstackDemoComponent.ts
grid: GridStack;
ngOnInit() {
this.grid = GridStack.init();
}
并且在
<div class="grid-stack">
<div
class="grid-stack-item"
gs-id="grid-1"
id="grid-1"
>
SOME DATA HERE/CHART COMPONENTS
</div>
</div>
我有 6 个这样的网格项目,用于 6 个不同的图表。这工作得很好。现在在调整大小或拖动其他地方后重置网格,我正在使用以下功能,
resetChartConfig() {
document.getElementById("grid-1").setAttribute("gs-min-w", "4");
document.getElementById("grid-1").setAttribute("gs-min-h", "2");
document.getElementById("grid-1").setAttribute("gs-x", "0");
document.getElementById("grid-1").setAttribute("gs-y", "3");
document.getElementById("grid-1").setAttribute("gs-w", "8");
document.getElementById("grid-1").setAttribute("gs-h", "3");
...
}
此重置功能按预期工作,但在此之后,当我尝试调整或拖动任何网格项目时,它会自动占用在重置为默认值之前设置的旧属性值。
例如。说
- 第 1 步:grid-1 (item1) 我将大小调整为 gs-w = 12 , gs-h = 6 & 拖动位置到 gs-x = 3, gs-y = 3
- 第2步:点击重置按钮重置为默认值。
- 第 3 步:尝试调整或拖动 grid-2 (item2)。
此时,grid-1 将自动采用步骤 1 中的值。
不知何故,旧的 HTML 属性被保留在我无法清除的 DOM 中。
有什么方法可以实现这个功能吗?
我在这里先向您的帮助表示感谢。
解决方案
推荐阅读
- html - 具有最大列数的 CSS Grid 具有动态子项
- node.js - 打字稿覆盖 .env 文件设置
- ruby-on-rails - 无法将未经许可的参数转换为哈希
- node.js - api 调用受到另一个 api 调用验证的影响
- http - okhttp 发送错误 HTTP 消息,多个请求标头?
- python - 如何在python中将XML文件转换为PDF
- scala - scala spark job在失败时给出了奇怪的异常
- android - Android中RecyclerView的Textview AutoSizing
- tableau-api - Tableau 动态地图标签
- c++ - 如何正确设置高电压触发抓取?