在public datasource: any = (request: any): Observable<any> => {
return this.service.getUsers(request);
}
的文档中,数据源函数以这种方式编写:
<ng2-ya-table [options]="options" [columns]="columns" [datasource]="datasource" [paging]="paging">
</ng2-ya-table>
并像这样使用:
data = [
{
name: 'Patricia',
email: 'Julianne.OConner@kory.org',
username: 'Yes',
},
{
name: 'Chelsey Dietrich',
email: 'Lucio_Hettinger@annie.ca',
username: 'No',
}
]
我不想以这种方式使用这个功能,因为我有静态
public datasource: any = {
return this.data ;
}
这是可能的还是我有义务呈现可观察的类型? 我尝试了很多使用静态数据,但徒劳无功
function
为什么这个功能不起作用?
答案 0 :(得分:0)
我试过了:
public datasource: any = (request: any): Observable<any> => {
return Observable.of(this.data);
}
但它会导致一系列错误,从:
开始Ng2YaTableComponent.html:53错误TypeError:无法读取属性 未定义的“长度”
如果有人可以改进这个答案,也许我们可以找到解决方案
答案 1 :(得分:0)
尝试:
public datasource: any = (request: any): Observable<any> => {
return Observable.of({
recordsTotal: this.data.length,
recordsFiltered: this.data.length,
data: this.data
});
}
无论如何,您需要执行分页,排序和过滤客户端(数据源是Observable以执行此操作服务器端)。 例如(仅限分页):
public datasource: any = (request: any): Observable<any> => {
let page = (request.start / request.length) + 1;
return Observable.of({
recordsTotal: this.data.length,
recordsFiltered: this.data.length,
data: this.data.slice(request.length * (page - 1), request.length * page)
});
}