Feedback

Értem! Ebben az esetben hozzáadhatsz egy változót a komponensedhez, amely tárolja a visszajelzési üzenetet, és a sablonban (HTML) megjeleníthetsz egy .card div-et, amely az üzenetet tartalmazza. Amikor a visszajelzési üzenet megváltozik, az automatikusan frissíteni fogja a nézetet.

  1. Komponens (.ts): Add hozzá az alábbi változókat:
   feedbackMessage: string | null = null; // Az üzenet tárolására
   feedbackType: 'success' | 'error' | null = null; // Az üzenet típusának tárolására (opcionális)

Módosítsd az onSubmit metódust, hogy beállítsa ezeket a változókat:

   ...
   .then(() => {
       console.log('Movie updated successfully in Firestore');
       this.feedbackMessage = 'Movie updated successfully in Firestore';
       this.feedbackType = 'success';
       this.finished.emit();
   })
   .catch((error) => {
       console.error('Error updating movie in Firestore: ', error);
       this.feedbackMessage = 'Error updating movie in Firestore: ' + error.message;
       this.feedbackType = 'error';
   });
   ...
  1. Sablon (.html): Add hozzá a következő kódot az űrlap alá, hogy megjelenítse a .card div-et az üzenettel:
   <div *ngIf="feedbackMessage" class="card" [ngClass]="{'success-card': feedbackType === 'success', 'error-card': feedbackType === 'error'}">
       {{ feedbackMessage }}
   </div>

Ebben a példában az ngIf direktívával ellenőrzöm, hogy létezik-e visszajelzési üzenet, és csak akkor jelenítem meg a .card div-et, ha igen. Az ngClass direktívával pedig dinamikusan hozzárendelheted a success-card vagy error-card osztályokat az üzenet típusától függően.

  1. Stílusok (.css vagy .scss): Most definiálj néhány stílust a .card, .success-card és .error-card osztályokhoz:
   .card {
       padding: 10px;
       margin-top: 20px;
       border-radius: 5px;
       border: 1px solid #ccc;
   }

   .success-card {
       border-color: green;
       color: green;
   }

   .error-card {
       border-color: red;
       color: red;
   }

Ezzel a megoldással minden alkalommal, amikor a visszajelzési üzenet változik, az automatikusan frissíti az űrlap alatti .card div tartalmát, és megjeleníti a felhasználónak.

Was this page helpful?