我只能在手风琴打开时调用函数吗?
Can I call a function on accordion open only?
我使用的是 Clarity v2,我只想在手风琴打开时调用函数,而不是在单击时调用。
目前正在使用这样的东西:
<clr-accordion>
<clr-accordion-panel *ngFor="let tec of tecnic">
<clr-accordion-title (click)="myFunction(tec)">{{tec.id}}</clr-accordion-title>
但是 myFunction() 显然在打开和关闭时被调用。
有什么建议吗?
谢谢。
您可以将组件中的变量绑定到 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 的值
您可以使用 clrAccordionPanelOpen
的脱糖语法,例如:
<clr-accordion-panel *ngFor="let panel of panels" [clrAccordionPanelOpen]="panel.open" (clrAccordionPanelOpenChange)="panelChange($event, panel)">
这是我拼凑起来的一个简单的工作 stackblitz 来证明这一点:
https://stackblitz.com/edit/so-58029735-accordion-open-function
我使用的是 Clarity v2,我只想在手风琴打开时调用函数,而不是在单击时调用。
目前正在使用这样的东西:
<clr-accordion>
<clr-accordion-panel *ngFor="let tec of tecnic">
<clr-accordion-title (click)="myFunction(tec)">{{tec.id}}</clr-accordion-title>
但是 myFunction() 显然在打开和关闭时被调用。 有什么建议吗?
谢谢。
您可以将组件中的变量绑定到 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 的值
您可以使用 clrAccordionPanelOpen
的脱糖语法,例如:
<clr-accordion-panel *ngFor="let panel of panels" [clrAccordionPanelOpen]="panel.open" (clrAccordionPanelOpenChange)="panelChange($event, panel)">
这是我拼凑起来的一个简单的工作 stackblitz 来证明这一点: https://stackblitz.com/edit/so-58029735-accordion-open-function