在淘汰赛中,我希望更改/刷新数据更改时的分页。 例如:我的数据集为100 [每页5条记录],我在第10页上。现在有了更多搜索,数据从100更改为5,我在第10页上,但是当数据更改时,我要分页在首页上。即要刷新的页面。
这是我的[Fiddle](https://jsfiddle.net/975ncawv/281/)
MyVM.prototype.loadData = function(rawData) {
this.items(rawData.map(RowModel.fromRawDataPoint));
};
ko.applyBindings(new MyVM(myData));
答案 0 :(得分:2)
但是当数据更改时
this.items.subscribe( /* ... */ )
我希望分页显示在首页
this.pageNumber(0)
放在一起:
this.items.subscribe(function() {
this.pageNumber(0);
}, this);
我没有发现与搜索数据有关的任何逻辑,但我希望能做到以下几点:
this.filteredItems = ko.pureComputed(function() {
return this.items().filter(/* ... */);
}, this);
实施后,您可以将items
上的订阅更改为filteredItems
,以确保在数据 source 更改时重置 both 以及搜索查询何时更改。
答案 1 :(得分:2)
loadData
函数中需要更改两件事。
all
的observableArray必须使用新的items
值进行更新,因为它在第65行以类似的方式获取值。pageNumber
需要重置为0,因为paginated
和all
正在通过计算函数监听它。 (并且表格正在显示paginated
的值。)看起来像updated fiddle。