Dialog -> récupérer la data
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
Code:
1 2 3 4 5 6 7
|
<app-work-form
[isEditForm]="isWorkEditForm"
[selectedWork]="selectedWork"
(addWork)="addWork($event)"
(doClose)="onCancel()">
</app-work-form> |
work.dialog.component.ts
Code:
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();
}
} |
méthode pour ouvrir la dialog et récupérer le resultat
Code:
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 = ');
}
});
} |
J'ai bien la trace de la fermeture de dialog mais le résultat est undefined
Pouvez-vous m'aider s'il vous plait ?
D'avance merci