Angular cdkDragHandle不';不能在子组件内部工作
使用@angular/cdk 7.2.1:如果定义包含cdkDropList和cdkDrag组件嵌套列表的父组件,则在嵌套子组件内定义cdkDragHandle将不起作用。如果相同的结构都在同一个组件中,则cdkDragHandle可以完美地工作Angular cdkDragHandle不';不能在子组件内部工作,angular,drag-and-drop,angular-cdk,Angular,Drag And Drop,Angular Cdk,使用@angular/cdk 7.2.1:如果定义包含cdkDropList和cdkDrag组件嵌套列表的父组件,则在嵌套子组件内定义cdkDragHandle将不起作用。如果相同的结构都在同一个组件中,则cdkDragHandle可以完美地工作 是否有人找到了修复方法,即使cdkDragHandle未在与cdkDrag相同的组件中定义,也能使其正常工作?此解决方案适合我: 父组件: <div cdkDropList #list="cdkDropList" [cdkDropListD
是否有人找到了修复方法,即使cdkDragHandle未在与cdkDrag相同的组件中定义,也能使其正常工作?此解决方案适合我: 父组件:
<div cdkDropList #list="cdkDropList"
[cdkDropListData]="myArray"
(cdkDropListDropped)="drop($event)">
<app-item
*ngFor="let item of myArray"
cdkDrag>
<div cdkDragHandle></div>
</app-item>
</div>
然后使用position:relative和您想要的任何内容设置拖动容器的样式。我在里面有一个项目(拖动手柄),它也会获取容器的全宽和全高,其中包含一个图像(就像旁注一样)。这对我来说很有用:
不要使用cdkDragHandle,只需停止鼠标向下的事件传播,如下所示。
然后只能拖动标题
不确定这是什么时候添加的,在child中设置
cdkDragRootElement
对我来说很有效
在子组件中,app bot提示符选择器是需要可拖动的父元素
发现问题:谢谢你,拉朱玛,提出了解决方案。这基本上是其他人在上面引用的问题链接github.com/angular/material2/issues/13784中建议的。这非常有效!
<div class="drag-container">
<ng-content></ng-content>
<div class="drag-handle">drag here</div>
</div>
.cdk-drag-handle {
width: 100%;
height: 100%;
position: absolute;
z-index: 100;
background-color: transparent;
cursor: move;
}