簡體   English   中英

角度材質無法將數據對象傳遞給 matdialog 對話框

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM