Delete todo

[Début de la branche step-3]

Même procédé que pour la création, sauf que l'on passera l'id de la todo à supprimer dans l'action.

store/actions/todo-list.action.ts

// ... autres
export namespace TodoListModule {

    export enum ActionTypes {
        // [...]
        DELETE_TODO = '[todoList] Delete Todo',
    }

    // [...]

    export class DeleteTodo {
        readonly type = ActionTypes.DELETE_TODO;
        constructor(public payload: number) {}
    }

    export type Actions = InitTodos
        | CreateTodo
        | DeleteTodo;
}

Se servir de filter pour renvoyer un nouveau tableau sans notre todo :

/store/reducers/todo-list.reducer.ts

Ajoutons la fonction de suppression :

/app.component.ts

Gérer les ids

Jusqu'à présent, à chaque fois que l'on ajoute une todo, on lui donnait un id "8" par défaut. Nous allons maintenant dynamiser l'attribution d'id.

Deux possibilités :

-1 Calculer la longueur du tableau de todo. -2 Utiliser des id uniques via un générateur comme uuid.

Première option :

/app.component.ts

tap : invoque une action pour chaque élément de la séquence observable.

Suppression terminée.

Last updated

Was this helpful?