1

我使用 Angular CDK 拖放模块,它适用于 div、p 等 html 元素。但是由于某种原因,当我在组件上放置 cdkDrag 指令时,它不起作用。

<!-- WORKS -->    
<div cdkDrag>content</div>    

<!-- DOESNT WORK -->
<my-component cdkDrag></my-component>

我注意到的另一件事是,角度中的每个组件的宽度和高度都设置为auto(基本上是 0x0),除非我编辑 css 并设置display: block组件样式

4

1 回答 1

3

组件是自定义标签。在浏览器中,这被视为“未知”标签,并默认显示为inline. 如果您在其中添加块元素,这也会导致尺寸为 0x0。

为了克服这个问题,你应该让它display: blockinline-blockflex(或任何适合你的东西)使它也可拖动。如果这不会破坏其余可拖动元素的布局,则可以创建一个全局类:

.cdkDrag {
  display: inline-block;
}
于 2019-04-02T07:30:29.507 回答