Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Typescript获取选定/活动的mat扩展面板名称_Typescript_Angular Material_Angular7 - Fatal编程技术网

如何使用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列表项时,我必须获取相应的面板名称,并且需要在其他分区中显示名称。请帮助我在typescript中获取活动/选定的mat扩展面板名称

<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
中使用该值

见下文