我正在使用aurelia的ui-virtualization
库来使用virtual-repeat
和infinite-scroll-next
创建表格。 Html看起来像这样:
<table>
<thead>
...
</thead>
<tbody>
<tr virtual-repeat.for="item of items" infinite-scroll-next="getMore">
...
</tr>
</tbody>
</table>
这很好用,除了我有一些ui组件和交互来更新我的list
数组中的内容。更新后,永远不会调用infinite-scroll-next
函数(getMore()
)。我更新了这样的内容:
update() {
let vm = this;
vm.apiService.getData(vm.filterOption)
.then(response => {
vm.items = response.content.items;
});
}
通过ui更改filterOptions
,apiService.getData()
从http调用返回承诺。表中的数据正确更新,但无限滚动随后被破坏。
我做错了什么,或者这是ui-virtualization
中的错误?
修改
似乎有一些属性添加到数组__array_observer__
和__observers__
。考虑覆盖整个数组并因此删除这些属性可能会导致问题,我尝试了一种方法,我只是适当地添加或删除元素。这也不起作用。
修改
如果我在数组中留下少于7个原始元素,似乎会失败。