Im使用Angular CDK拖放模块,它适用于div,p等html元素。 但是由于某种原因,当我在组件上放置cdkDrag指令时,它不起作用。
<!-- WORKS -->
<div cdkDrag>content</div>
<!-- DOESNT WORK -->
<my-component cdkDrag></my-component>
我注意到的另一件事是,Angular 中的每个组件的宽度和高度都设置为 auto
(基本上是0x0(,除非我编辑 CSS 并display: block
组件样式
组件是自定义标记。在浏览器中,这被视为"未知"标签,并具有默认显示inline
。如果在其中添加块元素,这也将导致尺寸0x0。
为了克服这个问题,你应该让它display: block
或inline-block
或flex
(或任何适合你的东西(来使其也可以拖动。如果这不会破坏其余可拖动对象的布局,则可以创建全局类:
.cdkDrag {
display: inline-block;
}