Angular Material с несколькими перетаскиваниями, ограничение перетаскивания только определенным списком

#angular #angular-cdk-drag-drop

#angular #angular-cdk-drag-drop

Вопрос:

Уважаемые все гуру Angular…

Я нашел в Интернете потрясающий пример перетаскивания angular material с несколькими перетаскиваниями и хотел ограничить перетаскивание только из ListA в listB и отключить перетаскивание из listB в ListA. (ссылка на stackblitz прикреплена ниже)

Пытался часами, но все еще не мог понять это … может ли какой-либо опыт Angular помочь мне в этом … есть ли в CdkDragDrop конкретное событие, которое мне нужно реализовать, чтобы оно работало?

https://stackblitz.com/edit/angular-multi-drag-drop-3part-vxkzje?file=src/app/multi-drag-drop.component.ts

Комментарии:

1. Самым простым было бы установить некоторый тип перетаскиваемого элемента в dragstart eventhandler и проверить этот тип в dragover и drop eventhandler . Если тип не совпадает, dragover установите соответствующий dropEffect . Если тип не совпадает, drop просто ничего не делайте с удаленным элементом…

2. @derpirscher спасибо, что указали правильное направление… Я пытался, но dragMove amp; dragRelease , полученный в eventhandler, не позволяет мне получить доступ к целевому контейнеру, в который я сбрасываю. У меня есть доступ только к исходному контейнеру, из которого я перетаскиваю…

3. @derpirscher я пробовал cdkDropListEnterPredicate … но эта часть кода никогда не запускается… так странно. вы можете проверить мой stackblitz > <