Коврик-стол внутри коврика-диалог

#angular #typescript #angular-material

Вопрос:

Я хочу создать таблицу внутри диалогового окна, чтобы, когда пользователь нажимает на ссылку, он мог видеть таблицу в диалоговом окне.

Я создал мат-таблицу и диалоговое окно. Единственная проблема заключается в том, что функция dialog.open() принимает компоненты в качестве параметра, поэтому диалоговое окно снова отображает всю страницу. Есть ли способ присвоить ему идентификатор таблицы или что-то в этом роде, чтобы я мог показывать в нем только определенную таблицу?

 constructor(public dialog: MatDialog) { }
  
openDialog() {
  this.dialog.open(UserProfileComponent);
}
 

HTML
<a value="case1" (click)="openDialog()">Click for details</a>

Комментарии:

1. Создайте компонент с таблицей, затем используйте этот компонент для mat-диалога с данными для таблицы, переданной в параметрах

Ответ №1:

В ts открывшемся всплывающем окне:

 this.dialog.open(DialogOverviewExampleDialog, {
  data: {id: someId}
});
 

Во всплывающем окне:

   constructor(
    public dialogRef: MatDialogRef<DialogOverviewExampleDialog>,
    @Inject(MAT_DIALOG_DATA) public data: DialogData) {
    if(data.id) {
     // do something
    }
  }