我正在使用 aurelia 的库来使用andui-virtualization
创建一个表。Html 看起来像这样:virtual-repeat
infinite-scroll-next
<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;
});
}
在哪里filterOptions
通过 ui 更改并apiService.getData()
从 http 调用返回一个承诺。表中的数据正确更新,但无限滚动随后被破坏。
我做错了什么,还是这是一个错误ui-virtualization
?
编辑:
似乎有一些属性添加到数组__array_observer__
和__observers__
. 考虑覆盖整个数组并因此删除这些属性可能会导致问题,我尝试了一种方法,我只需适当地添加或删除元素。这也不起作用。
编辑:
如果我在数组中留下少于 7 个原始元素,它似乎会失败。