Bonjour,
Je début sur le Front notamment sur le framework Angular
J'ai un composant que j'utilise plusieurs fois dans mon application -> WorkFormComponent
C'est un formulaire avec un bouton "Annuler" et "Ajouter".
Je souhaite ouvrir ce formulaire dans un boite modale.
j'ai fait plusieurs essai mais je n'arrive pas à récupéré la donnée de mon mon formulaire
work-dialog.component.html
work.dialog.component.ts
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <app-work-form [isEditForm]="isWorkEditForm" [selectedWork]="selectedWork" (addWork)="addWork($event)" (doClose)="onCancel()"> </app-work-form>
méthode pour ouvrir la dialog et récupérer le resultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 @Component({ selector: 'app-work-dialog', templateUrl: './work-dialog.component.html', styleUrls: ['./work-dialog.component.scss'], }) export class WorkDialogComponent { readonly dialogRef = inject(MatDialogRef<WorkDialogComponent>); readonly data = inject<EeWork>(MAT_DIALOG_DATA); readonly work = model(this.data); isWorkEditForm : boolean = false; selectedWork : EditableEeWork = new EditableEeWork(); constructor() {} addWork(eeWork: EeWork) { console.log('entreprise ajoutée : ', eeWork); this.dialogRef.close(eeWork); } onCancel() { this.dialogRef.close(); } @HostListener('document:keyup.escape') onClose() { this.onCancel(); } }
J'ai bien la trace de la fermeture de dialog mais le résultat est undefined
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 openAddForm() { const dialogRef = this.dialog.open(WorkDialogComponent, { data: this.selectedWork, }); dialogRef.afterClosed().subscribe(result => { console.log('The dialog was closed', result); if (result !== undefined) { console.log('EE = '); } }); }
Pouvez-vous m'aider s'il vous plait ?
D'avance merci
Partager