【问题标题】:Can I call a function on accordion open only?我可以只调用手风琴打开的函数吗?
【发布时间】:2019-09-20 13:52:29
【问题描述】:

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

目前正在使用这样的东西:

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

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

谢谢。

【问题讨论】:

    标签: angular vmware-clarity


    【解决方案1】:

    您可以绑定clrAccordionPanelOpene.g: 的去糖语法:

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

    这是我拼凑起来的一个简单的工作堆栈闪电战来演示这一点: https://stackblitz.com/edit/so-58029735-accordion-open-function

    【讨论】:

    • (clrAccordionPanelOpenChange) 成功了。没有在文档上看到。谢谢!
    【解决方案2】:

    您可以将组件中的变量绑定到 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-19
      • 1970-01-01
      • 2019-07-23
      • 1970-01-01
      • 1970-01-01
      • 2021-12-03
      • 1970-01-01
      • 2012-07-15
      相关资源
      最近更新 更多