【发布时间】:2020-01-15 13:13:39
【问题描述】:
我已经编写了一个逻辑来在对表格元素进行点击操作时打开 mat-dialog。如果单击不同的列值,则对话框中应显示不同的内容。基本上我想为对话框创建一个组件(只有一个),现在必须使用相同的组件来显示不同的内容
我通过为每个列元素创建不同的组件并在表格组件中使用 ng-template 来实现输出,这样就无法创建任何组件。
表格的HTML代码
<div(click)="onClick(topCol,data[topCol]);">{{data[topCol]}}</div>
表格的TS文件
onClick(columnheader: string, columnvalue: any) {
if (this.alertValues.indexOf(columnheader) >= 0)
{
this.dialogService.openConfirmDialog(columnheader);
}
}
调用服务打开特定组件
openConfirmDialog(msg) {
if(msg=="totalSuccessful")
{
this.dialog.open(TotalSuccessfulComponent,
{
width: '300px',
height: '200px',
data:{
message:msg
}
});
}
else if(msg=="totalBussinessSkip")
{
this.dialog.open(TotalBussinessSkipComponent,
{
width: '300px',
height: '200px',
data:{
message:msg
}
});
}
else if(msg=="totalTechnicalSkip")
{
this.dialog.open(TotalTechnicalSkipComponent,
{
width: '300px',
height: '200px',
data:{
message:msg
}
});
}
但我想要具有相同组件的不同对话框内容
【问题讨论】:
标签: javascript html angular typescript angular-material