我试图使用角度材质对话框组件。我过去用它,我没有问题。但不知怎的,我不能像过去那样使用它。这是我的实施:
export class FilterDialogComponent implements OnInit {
public clientDepartementFilter: string;
public partnerDepartmentFilter: string;
public checkboxFilters: CheckboxFilters;
constructor(public dialogRef: MatDialogRef<FilterDialogComponent>,
@Inject(MAT_DIALOG_DATA) public data: any) {
this.checkboxFilters = data.checkboxFilters;
this.clientDepartementFilter = data.clientDepartementFilter;
this.partnerDepartmentFilter = data.partnerDepartmentFilter;
}
closeDialog(): void {
this.dialogRef.close({ data: this.clientDepartementFilter });
}
我这样打开它:
public openDialog(): void {
this.dialog.open(FilterDialogComponent, {
data: {
checkboxFilters: this.checkboxFilters,
clientDepartementFilter: this.clientDepartementFilter,
partnerDepartmentFilter: this.partnerDepartmentFilter
}
}).afterClosed().subscribe(result => {
console.log(result);
});
}
我的代码编译但是当我使用
创建当前对话框的引用时出错public dialogRef: MatDialogRef<FilterDialogComponent>
错误如下:
TS2314:通用类型&#39; MatDialogRef&#39;需要3种类型的参数
当我在MatDialog中添加任何类型时,错误消失但我不能再编译我的代码......
现在我有以下错误:
错误TS2707:通用类型&#39; MatDialogRef&#39;需要1到2个类型的参数。
我尝试更新角度材料angularCli和typescript但它仍然无法编译。
&#34; @ angular / cli&#34;:&#34; ^ 1.7.2&#34;,
&#34; @ angular / compiler-cli&#34;:&#34; ^ 5.0.0&#34;,
&#34;打字稿&#34;:&#34; ^ 2.4.2&#34;
&#34; @ angular / material&#34;:&#34; ^ 5.2.4&#34;,
对于它为何会发生的任何建议或想法? 谢谢你的帮助!
答案 0 :(得分:0)
MatDialogRef
通用接受1 or 2 type arguments。
angular-material
是AngularJS库。应该使用@angular/material
代替。