繁体   English   中英

在剔除中,更改数据时更改分页

[英]In knockout Change Paging when Data is changed

在淘汰赛中,我希望在数据更改时更改/刷新分页。 例如:我的数据集为100 [每页5条记录],我在第10页上。现在有了更多搜索,数据从100更改为5,我在第10页上,但是当数据更改时,我要分页在首页上。 即分页要刷新。

这是我的[小提琴]( https://jsfiddle.net/975ncawv/281/

MyVM.prototype.loadData = function(rawData) {
  this.items(rawData.map(RowModel.fromRawDataPoint));
};
ko.applyBindings(new MyVM(myData));

但是当数据改变时

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 ,以确保在数据更改以及搜索查询更改时重置。

loadData函数内部需要更改两件事。

  1. 由于all observableArray在第65行中以类似方式获取值,因此需要使用items的新值进行更新。
  2. pageNumber需要重设为0,因为已paginated并且all都在通过计算函数来监听它。 (并且该表显示的是paginated的值)。

看起来像是这个更新过的小提琴

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM