IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Angular Discussion :

Ouvrir matdialog et la fermer


Sujet :

Angular

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Par défaut Ouvrir matdialog et la fermer
    Bonjour, je développe une application angular. J'utilise MatDialog pour ouvrir une boite de dialogue. Je n'arrive pas à la fermer

    Je l'ouvre de cette façon

    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
     
        openDialog(event) {
          const dialogConfig = new MatDialogConfig();
          dialogConfig.autoFocus = true;
          dialogConfig.position = {
            top:  bottom + 'px',
            right: '0px'
          };
          dialogConfig.width = '50%';
          dialogConfig.height = '590px';
     
          this.dialog.open(UserDialogComponent, dialogConfig);
     
          const dialogRef = this.dialog.open(UserDialogComponent, dialogConfig);
     
          dialogRef.beforeClose().subscribe((result: string) => {
            console.log('RIght before close,', result);
          });
          dialogRef.afterClosed().subscribe(result => {
            console.log('The dialog was closed', result);
          });
        }
    J'injecte MatDialogRef dans le constructeur de i UserDialogComponent:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        constructor(
            private formBuilder: FormBuilder,
            private dialogRef: MatDialogRef<UserDialogComponent>,
            @Inject(MAT_DIALOG_DATA) data) {
              console.log("Constructor UserDialogComponent START");
              console.log(dialogRef);
              this.dialogRef = dialogRef;
              console.log("Constructor UserDialogComponent END");
             }
    Et je ferme ma boite de dialogue dans cette fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
          close() {
            console.log(this.dialogRef);
            console.log('CLOSE CLICKED');
            this.dialogRef.close(true);
          }
    Mais this.dialogRef est un objet vide et je reçois cette erreur quand j'appelle cette fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        ERROR TypeError: "this.dialogRef.close is not a function"
    Pouvez vous m'aider ?

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Par défaut
    J'ai trouvé le bug, il y avait ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        @Component({
          selector: 'app-user-dialog',
          templateUrl: './user-dialog.component.html',
          styleUrls: ['./user-dialog.component.scss'],
          providers: [
            {provide: MAT_RADIO_DEFAULT_OPTIONS, useValue: { color: 'accent' }},
            { provide: MatDialogRef, useValue: {} }
          ]
        })
        export class UserDialogComponent implements OnInit {
    J'ai enlevé cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        { provide: MatDialogRef, useValue: {} }
    Et maintenant, ça marche bien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ouvrir une div et fermer celle qui est ouverte
    Par Oniii dans le forum jQuery
    Réponses: 13
    Dernier message: 11/01/2013, 11h35
  2. [XL-2003] Ouvrir un Fichier et fermer le fichier en cours
    Par Coincoin0017 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/06/2011, 14h29
  3. Ouvrir un Fichier et fermer le fichier en cours
    Par jojo86 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 18/01/2010, 16h59
  4. Ouvrir nouvelle fenêtre et fermer fenêtre actuelle
    Par patriciaprovence dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 12/12/2008, 22h00
  5. ouvrir une fenetre et fermer la fenetre actuelle
    Par aktos dans le forum Windows Forms
    Réponses: 8
    Dernier message: 20/11/2007, 09h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo