我只能在手风琴打开时调用函数吗?

时间:2019-09-20 13:52:29

标签: angular vmware-clarity

我正在使用Clarity v2,我想仅在手风琴打开而不是单击时调用函数。

当前正在使用类似的东西:

<clr-accordion>
    <clr-accordion-panel *ngFor="let tec of tecnic">
        <clr-accordion-title (click)="myFunction(tec)">{{tec.id}}</clr-accordion-title>

但是 myFunction()显然在打开和关闭时被调用。 有什么建议吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

您可以将组件中的变量绑定到Accordion的[(clrIfExpanded)]指令。

所以也许像这样:

<clr-accordion>
<clr-accordion-panel [(clrIfExpanded)]="isOpen" *ngFor="let tec of tecnic">
    <clr-accordion-title (click)="myFunction(tec)">{{tec.id}}</clr-accordion-title>

然后您可以在myFunction()中检查isOpen的值

请参阅:https://clarity.design/documentation/accordion

答案 1 :(得分:0)

您可以使用clrAccordionPanelOpen的已废除语法,例如:

<clr-accordion-panel *ngFor="let panel of panels" [clrAccordionPanelOpen]="panel.open" (clrAccordionPanelOpenChange)="panelChange($event, panel)">

这是一个简单的工作闪电战,我把它放在一起来证明这一点: https://stackblitz.com/edit/so-58029735-accordion-open-function