Angular Материал CDK Перетаскивание внутренних компонентов, особенно с помощью cdkDragHandle - PullRequest
0 голосов
/ 28 апреля 2020

Я видел десятки примеров, использующих Angular Перетаскивание CDK материала с использованием простых старых элементов div, но я не могу найти примеров, где вместо элемента div мы можем перетащить другой компонент * 1002. *. Похоже, что если cdkDrag, cdkDropList и (в частности) cdkDragHandle не находятся в одном и том же физическом файле шаблона, то эти директивы просто не работают.

Мне удалось обойти это, поместив мой компонент внутри div, но я хочу, чтобы компонент имел дескриптор перетаскивания, потому что именно здесь он, кажется, имеет больше смысла.

<div cdkDropList (cdkDropListDropped)="containerDrop($event)">
    <!-- I could put the cdkDragHandle here, but I want it inside the component -->
    <!-- this div is just for containing my child component, something to attach cdkDrag to -->
    <div *ngFor="let child of containers" cdkDrag>
        <!-- I'd like to include a cdkDragHandle directive inside this component's template -->
        <container-editor [container]="child"></container-editor>
    </div>
</div>

Это не имеет ничего общего с удалением в другой список, я хочу остаться в том же списке.

Возможно ли это?

...