[英]Angular Material Can't pass data object to matdialog dialog
我在這里查看了一些帖子,並仔細檢查了如何將數據從 Angular 組件傳遞到 MatDialog,但是在加載對話框時我得到了“未定義”。
到目前為止,這是我的代碼
import { MatDialog } from '@angular/material';
let dialogReff = this.dialog.open(MyComponent,
{
panelClass: 'custom-dialog-container',
data: { myObject: selectedObject},
disableClose: true
});
我在這里添加了一個斷點並驗證 selectedObject 包含所有字段而不是“未定義”
在我的對話框構造函數中
import { Component, OnInit, AfterViewInit, Inject, ViewChild, ElementRef } from '@angular/core';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';
import { FormControl, Validators } from '@angular/forms';
constructor(public dialogRef: MatDialogRef<InventoryRequiredInfoViewerComponent>,
@Inject(MAT_DIALOG_DATA) public data: { myObject: any}) {
var test = data.myObject;
}
當我在這里中斷時, data.myObject 是未定義的。
我將對話框類添加到 app.module.ts 部分:
@NgModule({
declarations:
和
entryComponents:
我讀了幾篇文章,但不明白為什么數據對象沒有成功傳遞給 MatDialog。 任何幫助表示贊賞。
我認為您能夠獲取數據,但您正在構造函數中重新定義它。 試試這個: @Inject(MAT_DIALOG_DATA) data
您好嘗試修改您的代碼如下:
let dialogConfig = new MatDialogConfig();
dialogConfig.disableClose = true;
dialogConfig.autoFocus = true;
dialogConfig.maxWidth = '400px';
dialogConfig.panelClass = 'custom-dialog-container';
dialogConfig.data = {
myObject: selectedObject,
};
let dialogReff = this.dialog.open(MyComponent, dialogConfig);
我希望我幫助了你
問候
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.