Обновление серверной части списка задач перетаскивания в хранилище Angular firestore

#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>
  

Как я могу это решить?