Angular 正确使用带角材质和垫表的虚拟滚动?
好的,所以最近我一直在尝试将我的一些表功能迁移到使用虚拟滚动,这仅仅是因为DOM同时有数百个节点和大型数据集而陷入困境 也就是说,我只是想在我的桌子上使用Angular Material CDK virtual table scrolling指令,因为它们无论如何都是mat桌子。我找到了一些例子和所有的例子,尽管我似乎不能让事情正常运作 以下是我用来获取信息的来源:Angular 正确使用带角材质和垫表的虚拟滚动?,angular,typescript,angular-material,angular-cdk-virtual-scroll,Angular,Typescript,Angular Material,Angular Cdk Virtual Scroll,好的,所以最近我一直在尝试将我的一些表功能迁移到使用虚拟滚动,这仅仅是因为DOM同时有数百个节点和大型数据集而陷入困境 也就是说,我只是想在我的桌子上使用Angular Material CDK virtual table scrolling指令,因为它们无论如何都是mat桌子。我找到了一些例子和所有的例子,尽管我似乎不能让事情正常运作 以下是我用来获取信息的来源: 下面是我在这里为表格使用的模板 日志ID {{yullelog.logID} 日志类别 {{yullelog.categ
日志ID
{{yullelog.logID}
日志类别
{{yullelog.category.categoryName}
日志信息
{{yullelog.logText}
日志日期
{{yuleLog.logDate.toLocaleDateString()}{{yuleLog.logDate.toLocaleTimeString()}(东部标准时间)
和实际的打字稿
import { Component, Input, OnInit } from '@angular/core';
import { YuleLog } from 'src/classes/yuleLogTypes';
@Component({
selector: 'app-log-table',
templateUrl: './log-table.component.html',
styleUrls: ['./log-table.component.css']
})
export class LogTableComponent implements OnInit {
constructor() { }
@Input() yuleLogs: Array<YuleLog> = [];
columns: string[] = ["logID", "logCategory", "logText", "logDate"];
ngOnInit(): void {
}
}
从'@angular/core'导入{Component,Input,OnInit};
从'src/classes/yullelogtypes'导入{yullelog};
@组成部分({
选择器:“应用程序日志表”,
templateUrl:'./log table.component.html',
样式URL:['./log table.component.css']
})
导出类LogTableComponent实现OnInit{
构造函数(){}
@Input()yuleLogs:Array=[];
列:字符串[]=[“logID”、“logCategory”、“logText”、“logDate”];
ngOnInit():void{
}
}
所以我知道表的数据源需要是TableVirtualScrollDataSource对象和所有对象,尽管这里的问题是这是一个子表,应该是可变的,并且通常基于输入中的数据。许多Angular Material示例都在类之外生成常量,这对使用输入绑定和所有内容都没有帮助,因此我的问题是,在这种情况下,什么是使@Input()数组保持原样,但将其数据传递给TableVirtualScrollDataSource变量的最佳方法,请记住,实际数组可能会因为父级而更改