You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular Material的Mat-Table组件无法展示从Firebase获取的数据

问题根因

你从Redux拿到接口返回的事件数据后,仅将值赋值给了组件变量events,没有同步更新mat-table绑定的dataSource数据源的data属性,因此表格无法读取到最新数据,自然不会渲染内容。

修复方案

仅需要修改ngOnInit中Redux订阅的回调逻辑,将拿到的事件数据同步给表格数据源即可:

ngOnInit(): void {
  this.eventActions.readEvent();

  //  this.dataSource.data = this.getAvailableEvents();

  this.ngRedux.select(state => state.events).subscribe(res => {
    this.events = res.events;
    // 新增下方这行代码,将数据同步给表格数据源
    this.dataSource.data = res.events;
  })
}

补充提示

如果后续遇到数据更新后表格没有自动刷新的情况,可以手动调用this.dataSource._updateChangeSubscription()触发表格的变更检测,上述场景仅需新增一行赋值代码即可解决问题。

内容的提问来源于stack exchange,提问作者Elisha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 05:24:04