После целого дня исследований я нашел этот запрос на извлечение Angular CDK-репозитория на Github. Теперь, так как я не знал, как интегрировать cdkDropListGroup в мой пример, я решил создать массив идентификаторов, которые будут добавлены в [cdkDropListConnectedTo] .
Каждый экземпляр моего второго списка будет генерировать идентификатор, и этот идентификатор будет добавлен в массив с подходящим префиксом (в моем втором списке, в cdkDropList):
<div cdkDropList
[attr.id]="addId(i, j)"
[cdkDropListData]="appointment.lessons"
[cdkDropListConnectedTo]="[subjectList]"
(cdkDropListDropped)="drop($event)"
>
addId метод:
addId(i, j) {
this.LIST_IDS.push('cdk-drop-list-' + i + '' + j);
return i + '' + j;
}
(cdk-drop-list- это префикс ID. CDK помещает этот префикс в каждый элемент с атрибутом cdkDropList)
Итак, мой массив будет выглядеть так:
- CDK-раскрывающийся список-00
- CDK-раскрывающийся список-01
- CDK-раскрывающийся список-02
- и т.д.
Теперь я передаю этот массив в [cdkDropListConnectedTo] в моем первом списке:
<div class="subj-container"
cdkDropListOrientation="horizontal"
cdkDropList
#subjectList="cdkDropList"
[cdkDropListData]="subjects"
[cdkDropListConnectedTo]="LIST_IDS"
(cdkDropListDropped)="drop($event)"
>
И работает без нареканий!
Надеюсь, это поможет кому-то с такой же проблемой. Кроме того, взгляните на упомянутый выше запрос на получение, мое решение - только обходной путь, возможно, есть лучшее решение с cdkDropListGroup