Angular Material 数据表未对来自 Http 请求的数据进行排序
Angular Material Datatable not sorting data from Http request
我正在使用 Angular Material 数据table 和 Http 请求来获取数据。
但是,它不是对数据table中的数据进行排序。
export class ContactComponent implements OnInit, AfterViewInit {
displayedColumns: string[] = [
"firstname",
"middlename",
"lastname",
"status",
"dateofbirth"
];
selected;
dataSource = new MatTableDataSource<Yuvak>();
constructor(
private router: Router,
private dialogService: NbDialogService,
private contactService: ContactService
) { }
@ViewChild(MatPaginator) paginator: MatPaginator;
@ViewChild(MatSort) sort: MatSort;
ngOnInit() {
this.contactService.getAllUser().subscribe(
data => {
this.dataSource.data = data.data.user;
},
error => {
console.log("There was an error while retrieving Users !!!" + error);
}
)
}
ngAfterViewInit() {
this.dataSource.paginator = this.paginator;
this.dataSource.sort = this.sort;
}
}
以上是我的ts文件。以前当我从本地 json 文件加载数据时,它在构造函数中运行良好。但是,现在我正在从 GET 请求中获取数据。
尝试将 dataSource = new MatTableDataSource<Yuvak>();
替换为 dataSource: Yuvak[] = []
,将 this.dataSource.data = data.data.user;
替换为 this.dataSource = data
检查您显示的列名是否包含您用作列标题的列名。其他一切看起来都不错。如果可能 post 您的模板文件。
检查您的 html 文件后试试这个。
ngOnInit() {
this.contactService.getAllUser().subscribe(
data => {
this.dataSource.data = data.data.user;
this.dataSource.paginator = this.paginator;
this.dataSource.sort = this.sort;
},
error => {
console.log("There was an error while retrieving Users !!!" + error);
}
)
}
我正在使用 Angular Material 数据table 和 Http 请求来获取数据。
但是,它不是对数据table中的数据进行排序。
export class ContactComponent implements OnInit, AfterViewInit {
displayedColumns: string[] = [
"firstname",
"middlename",
"lastname",
"status",
"dateofbirth"
];
selected;
dataSource = new MatTableDataSource<Yuvak>();
constructor(
private router: Router,
private dialogService: NbDialogService,
private contactService: ContactService
) { }
@ViewChild(MatPaginator) paginator: MatPaginator;
@ViewChild(MatSort) sort: MatSort;
ngOnInit() {
this.contactService.getAllUser().subscribe(
data => {
this.dataSource.data = data.data.user;
},
error => {
console.log("There was an error while retrieving Users !!!" + error);
}
)
}
ngAfterViewInit() {
this.dataSource.paginator = this.paginator;
this.dataSource.sort = this.sort;
}
}
以上是我的ts文件。以前当我从本地 json 文件加载数据时,它在构造函数中运行良好。但是,现在我正在从 GET 请求中获取数据。
尝试将 dataSource = new MatTableDataSource<Yuvak>();
替换为 dataSource: Yuvak[] = []
,将 this.dataSource.data = data.data.user;
替换为 this.dataSource = data
检查您显示的列名是否包含您用作列标题的列名。其他一切看起来都不错。如果可能 post 您的模板文件。
检查您的 html 文件后试试这个。
ngOnInit() {
this.contactService.getAllUser().subscribe(
data => {
this.dataSource.data = data.data.user;
this.dataSource.paginator = this.paginator;
this.dataSource.sort = this.sort;
},
error => {
console.log("There was an error while retrieving Users !!!" + error);
}
)
}