首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular 7 material mat- tab -如果当前页签有较大的数据表,则切换到新页签时组长延迟

Angular 7 material mat- tab -如果当前页签有较大的数据表,则切换到新页签时组长延迟
EN

Stack Overflow用户
提问于 2021-04-13 11:06:59
回答 1查看 181关注 0票数 0

在一个Angular 7项目中,我有一个定义如下的mat-tab-group:

代码语言:javascript
复制
<mat-tab-group id="tab-group" (selectedTabChange)="handleTabChange($event)" [(selectedIndex)]="tabIndx" color="accent">
<mat-tab label="{{rptType.name}}" *ngFor="let rptType of reportTypes" style="height:100%;">
  <ng-template matTabContent >
    <app-report-selection [profModuleType]="profModuleType" [defaultReportType]="rptType" *ngIf="rptType.isEnabled"></app-report-selection>
  </ng-template>        
</mat-tab>

每个选项卡允许用户创建一个报告,该报告本质上只是一个mat表。在报告(mat-table)开始变大之前,一切工作正常。当发生这种情况时,当用户单击新选项卡以运行不同的报告时,UI将在4-7秒内变得无响应。例如,一个报告当前返回了超过7,000条记录,这足以导致此行为。mat-table不包含任何控件或用户可以与之交互的任何内容-它只显示数据。

我当然不想放弃tab控件,但这种延迟是不可接受的。这对我来说也没有任何意义。延迟的原因可能是什么?我能做些什么呢?

EN

回答 1

Stack Overflow用户

发布于 2021-04-14 08:23:56

已通过从显示表的组件中删除更改检测解决此问题。这是通过向组件添加以下"changeDetection“设置来完成的:

代码语言:javascript
复制
    @Component({
  selector: 'app-report',
  templateUrl: './report.component.html',
  styleUrls: ['./report.component.scss'],
  changeDetection: ChangeDetectionStrategy.OnPush 
})

有关更多详细信息,请参阅https://www.thecodecampus.de/blog/optimize-the-performances-of-large-tables-in-your-angular-application/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67068207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档