【问题标题】:Is there any Angular event on mat-table when table rendering is finished?表格渲染完成后,mat-table 上是否有任何 Angular 事件?
【发布时间】:2021-08-11 22:41:15
【问题描述】:

我正在寻找 Angular Material 表(mat-table)渲染完成时触发的事件。

我认为它需要在数据源发生更改时触发,或者用户更改了显示的列或分页事件发生(但数据源已更改),或者任何其他事件发生了什么是重新渲染事件。

我尝试了通用的ngOnChanges,但是当用户更改显示的列时它没有触发。

有什么类似的活动可以听吗?

【问题讨论】:

  • 我认为没有 (material.angular.io/components/table/api)。你的用例是什么?
  • @David 我刚刚向表格添加了一个自定义解决方案,它为用户提供了水平调整列大小的选项。我将 div 添加到 thtd 标签中,为用户提供调整操作大小的句柄。但是,如果用户更改可见列,我的 div 就消失了。如果 thable 中的 use 改变数据并且表格高度改变了,我的 div 需要刷新...
  • 检查此答案是否对您有帮助:stackoverflow.com/a/63493607/4233941
  • 有一个旧的但仍然开放的 github 功能请求:github.com/angular/components/issues/8068。此外,您可能在组件模型更改和完成 DOM 渲染之间存在时间偏移。

标签: angular angular-material angular9 angular-material-table


【解决方案1】:

从 2021 年 8 月起,您可以使用 contentChanged 输出属性:

<mat-table #matTable
           [dataSource]="tableDatasource"
           (contentChanged)="hideLoader()" <--
>
...

这是related, merged PR

【讨论】:

    猜你喜欢
    • 2020-02-23
    • 1970-01-01
    • 1970-01-01
    • 2021-07-07
    • 2016-01-10
    • 1970-01-01
    • 2017-03-03
    • 2020-10-26
    • 1970-01-01
    相关资源
    最近更新 更多