#angular #firebase #angular-material #drag-and-drop
#angular #firebase #angular-материал #перетаскивание
Вопрос:
Использование angular material CDK для перетаскивания и firebase в качестве серверной части.
Все работает хорошо, но после обновления серверной части Firestore вместо обновления создается новая задача. Почему?
taskDrop(event: CdkDragDrop<string[]>) {
if (event.previousContainer === event.container) {
moveItemInArray(
this.board.tasks,
event.previousIndex,
event.currentIndex
);
} else {
transferArrayItem(
event.previousContainer.data,
event.container.data,
event.previousIndex,
event.currentIndex
);
}
this.boardService.updateTasks(this.board.id, this.board.tasks);
}
Как я могу обновить задачу, когда она изменяет список?
updateTasks(boardId: string, tasks: Task[]) {
return this.db
.collection('boards')
.doc(boardId)
.update({ tasks });
}
Для автоматической настройки соединения использовалась директива cdkDropListGroup.
<ng-container cdkDropListGroup>
<app-board cdkDrag *ngFor="let board of boards" [board]="board">
<mat-icon cdkDragHandle class="handle">drag_indicator</mat-icon>
</app-board>
</ng-container>
Как я могу это решить?