2017-08-26 69 views
0

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

enter image description here

有时两个连续的费用 “量” 不显示,有时是每10项开支。我也将它部署在实际的电话上 - 同样的行为。
I played with it并注意到如果我将打印amount的标签粘贴到最内层的StackLayout(其中两个标签是其中的一个),它就会正常工作。它弄乱了布局,但它不是一个可行的解决方案。

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

+0

我在GitHub上提交了一个[issue](https://github.com/NativeScript/NativeScript/issues/4931)。我的问题被确认为一个错误。 –

回答

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),这对我的情况没有什么影响。