2

我可以从我的功能中控制细节的打开吗?

是否可以将 EventEmitter 传递给“clr-dg-row-detail”,以便我可以在组件事件中发出有关打开细节的信息。

<clr-datagrid>
  <clr-dg-column>Artifact</clr-dg-column>
  <clr-dg-column>Category</clr-dg-column>
  <clr-dg-column>Action</clr-dg-column>

  <clr-dg-row>
    <clr-dg-cell>AAA</clr-dg-cell>
    <clr-dg-cell>111</clr-dg-cell>
    <clr-dg-cell>
      <button (click)="myFunctionFromOpenDetail()">
        MY BUTTON!
      </button>
    </clr-dg-cell>
    <ng-container ngProjectAs="clr-dg-row-detail" *ngIf="true">
      <clr-dg-row-detail *clrIfExpanded ?????????? >
        Lorem ipsum...
      </clr-dg-row-detail>
    </ng-container>
  </clr-dg-row>
</clr-datagrid>

4

2 回答 2

1

我不确定“传递 EventEmitter”是什么意思,这不是我理解的 Angular 模式。但是该clrIfExpanded指令确实为细节的展开状态提供了双向绑定,因此看起来就像您正在寻找的那样。

如果你只需要强制打开一些细节,你可以这样做:

<clr-dg-row-detail *clrIfExpanded="true">...</clr-dg-row-detail>

或替换true为确定行是否扩展的任何变量。

但是,如果您需要完整的双向绑定来动态扩展和关闭行,则需要使用去糖化语法,因为 Angular 不提供使用带有星号短语法的双向绑定的方法*

<ng-template [(clrIfExpanded)]="yourRow.expanded">
    <clr-dg-row-detail>...</clr-dg-row-detail>
</ng-template>
于 2018-05-04T12:02:08.120 回答
1

在以后的清晰度构建(2.x)中,您将需要它进行两种方式的绑定,否则人字形将旋转但内容不会通过ng-template示例显示:

<clr-dg-row-detail [(clrIfExpanded)]="yourRow.expanded">...</clr-dg-row-detail>
于 2020-09-09T20:20:48.190 回答