ListView未正确刷新

时间:2017-08-26 22:13:53

标签: typescript nativescript

我正在实施一个PageListView显示ObservableArray<Expense>中的项目。 ListView的loadMoreItems的处理程序将10个新项追加到ObservableArray。问题是,当我向下滚动时,某些行上amount的{​​{1}}属性未显示。 费用本身具有属性集(从Expense可见)。

enter image description here

有时&#34;金额&#34;没有显示两个连续费用,有时每10个费用一次。我也把它部署在实际的手机上 - 同样的行为 我played with it并注意到如果我将标签打印出onTap()到最里面的StackLayout(其他两个标签都是),那么一切正常。它虽然弄乱了布局,但它不是一个可行的解决方案。

任何帮助将不胜感激:) 谢谢!

1 个答案:

答案 0 :(得分:0)

正如@tsonevn建议here,在list.ts中将loadMoreItems()更改为:

export function loadMoreItems(ev: EventData): void {
    // https://github.com/NativeScript/NativeScript/issues/4931
    console.log("loadMoreItems");
    const fireEventAfter = 100; //ms
    setTimeout(() => {
        listModel.loadMoreItems(ev);
    }, fireEventAfter);
}

此外,请删除node_modules/, hooks/ & platforms/

最初建议将setTimeout的延迟设置为0ms(即const fireEventAfter = 0),这对我的情况没有任何影响。