#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
}
}