2017-08-31 1 views
0

Je travaille autour de transmettre les données d'un composant de dialogue Matériau ci-dessous est mon codePassage de données à partir d'un composant matériel Dialog

premier composant fichier html

<button md-raised-button (click)="openDialog()"><md-icon>add</md-icon</button>

En premier .ts composant fichier

data = { 
customerid : 'abc', 
appID : 'xyz', 
description : 'this is looooooooooooooooooooooooooooooooooooooooonnnnnnnnnngggggggggggggg text' 
}; 
constructor(public dialog: MdDialog) { } 

openDialog() { 

    let dialogRef = this.dialog.open(AddEditAppDetailsComponent, { 
        width: '40%', 
        data: this.data, 
        disableClose: true, 
    }); 

    dialogRef.afterClosed().subscribe(result => { 
       console.log(`Dialog Closed: ${result}`); 
       this.dialogResult = result; 
    }); 

    dialogRef.updatePosition(); 
} 

fichier html dialogue Matériel

<form #f="ngForm" (ngSubmit)="onCloseConfirm(f.value)"> 
    <md-dialog-content> 
     <md-grid-list cols="12" rowHeight="70px"> 
      <md-grid-tile [colspan]="6" [rowspan]="1"> 
       <md-input-container> 
        <input mdInput ngModel required #customerid=ngModel name="customerid" placeholder="Customer ID" value={{data.customerid}}> 
       </md-input-container> 
      </md-grid-tile> 
      <md-grid-tile [colspan]="6" [rowspan]="1"> 
       <md-input-container> 
        <input mdInput name="appID" placeholder="App ID" value={{data.appID}}> 
       </md-input-container> 
      </md-grid-tile> 
      <md-grid-tile [colspan]="12" [rowspan]="2"> 
       <md-input-container> 
        <textarea mdInput placeholder="Description" rows="5" value={{data.description}}></textarea> 
       </md-input-container> 
      </md-grid-tile> 
     </md-grid-list> 
    </md-dialog-content> 
</form> 
<md-dialog-actions> 
    <button md-raised-button type="submit" class="saveBTN" (click)="onCloseConfirm()">Save</button> 
</md-dialog-actions> 

Voici donc la je l'ai mentionné ngModel dans le champ de saisie en le faisant, il ne préremplir pas le value{{ data.customerid }} si je retire que comme je l'ai écrit dans le deuxième champ de saisie, il ne remplit la value.If i mentionner ngModel pourquoi il ne donne pas la valeur pré-chargé quelqu'un peut-il m'aider avec cela.

Répondre

0

De votre appareil, vous pouvez transmettre des données à la boîte de dialogue comme celui-ci:

dialogRef.componentInstance['data'] = { id: 123, name: 'Example' }; 
+0

ce qui est l'identifiant que vous passez par dialogRef –

+0

Ses données que vous voulez passer à la boîte de dialogue du composant. Vérifiez la réponse mise à jour. –

+0

ok je vais vérifier sur cette –