我正在尝试创建可调整大小的div容器,并且它们也是可拖动的。
我使用了Angular材质拖放和angular resizable element
这是解决方法 https://stackblitz.com/edit/angular-syurbs?embed=1&file=src/polyfills.ts
但是当我同时应用两者时,我可以拖动但不能调整大小。
https://stackblitz.com/edit/angular-41rqyo?file=src%2Fapp%2Fapp.component.html
我怎么能同时实现两者?
答案 0 :(得分:0)
在图标或按钮上使用cdkDragHandle
指令
<button cdkDragHandle>Drag Icon</button>
答案 1 :(得分:0)
创建可拖动和可调整大小的角度组件的简便方法
您无需Angular Material即可自己实现可拖动和可调整大小的组件。您需要分三个步骤进行操作。
步骤(1)的核心是通过减去鼠标位置(坐标)和div的位置(左右位置)来计算新的div大小
步骤(2)需要计算鼠标的移动并将相同数量的移动添加到div的顶部和左侧位置。
步骤(3),您需要计算外部容器的顶部,右侧,底部和左侧边界的位置。
要获取div元素的位置,您需要使用Web API-Element.getBoundingClientRect()
要获取鼠标位置,您需要向窗口添加鼠标移动侦听器,并向div元素本身添加鼠标向下侦听器。
我写了一篇有关如何实现这三个步骤的文章,并提供了进一步的解释和图形。如果您仍不清楚如何实现,可以看看。
答案 2 :(得分:0)