如何使用Typescript获取选定/活动的mat扩展面板名称
我使用了垫子扩展面板。动态绑定面板标题名称。当用户单击mat列表项时,我必须获取相应的面板名称,并且需要在其他分区中显示名称。请帮助我在typescript中获取活动/选定的mat扩展面板名称如何使用Typescript获取选定/活动的mat扩展面板名称,typescript,angular-material,angular7,Typescript,Angular Material,Angular7,我使用了垫子扩展面板。动态绑定面板标题名称。当用户单击mat列表项时,我必须获取相应的面板名称,并且需要在其他分区中显示名称。请帮助我在typescript中获取活动/选定的mat扩展面板名称 <mat-accordion> <mat-expansion-panel *ngFor="let templateList of LeftpaneTableDetails first as isFirst" [expanded]="isFirst"> <
<mat-accordion>
<mat-expansion-panel *ngFor="let templateList of LeftpaneTableDetails first as isFirst" [expanded]="isFirst">
<mat-expansion-panel-header>
<mat-panel-title>
{{templateList.strTemplateName}}
</mat-panel-title>
<mat-panel-description>
</mat-panel-description>
</mat-expansion-panel-header>
<mat-list>
<mat-list-item class="cursor-pointer table-name-list" *ngFor="let table of templateList.tableList" [attr.data-message-tableId]="table.intTableId" (click)="populateTableDetails($event, table.intTableId, table.strTableLabelName, templateList.strTemplateName)">{{table.strTableLabelName}}</mat-list-item>
</mat-list>
</mat-expansion-panel>
</mat-accordion>
{{templateList.strTemplateName}
{{table.strTableLabelName}}
在component.ts中,添加@ViewChild
以获取对MatAccordion
指令的引用。然后检索展开的MatExpansionPanelHeader
,如下所示
@ViewChild(MatAccordion) accordion: MatAccordion;
...
getExpandedPanelHeader(): MatExpansionPanelHeader {
return this.accordion._headers.find(h => h._isExpanded());
}
更新
如果唯一的目的是在div
中显示扩展的mat扩展面板的名称(标题),则可以使用afterExpand
事件处理程序。每次展开mat扩展面板
,您都会将其标题存储在组件类中(即在selectedTitle
中),并可以在div
中使用该值
见下文