ListView不能一次呈现所有项目

时间:2019-05-20 16:38:58

标签: angular typescript nativescript-angular

nativescript-ng中的ListView不会一次呈现其所有项目。

我有一个包含约26个项目的数组,目前只有字符串。 当我使用tns debug ios并在chrome浏览器中检查时,仅渲染其中的20个,并将ListView的高度设置为1000。即使添加更多项也不会更改此值,并且要渲染的最后一个元素仍然是一名20。

我要在ListView的translateY属性上添加动画,并且我需要完整的动画高度才能工作。

<GridLayout rows="auto, auto" columns="*">
  <MapView height="400" ...></MapView>
  <ListView [items]="countries" class="list-group" row="1" col="0">
   <StackLayout *ngFor="let item of countries" height="100">
      <Label [text]="item"></Label>
    </StackLayout >
  </ListView>
</GridLayout
this.countries = ["Austria", "Belgium", "Bulgaria", "Croatia", "Cyprus", "Czech Republic",
    "Denmark", "Estonia", "Finland", "France", "Germany", "Greece", "Hungary", "Ireland", "Italy",
    "Latvia", "Lithuania", "Luxembourg", "Malta", "Netherlands", "Poland", "Portugal", "Romania", "Slovakia",
    "Slovenia", "Spain", "Sweden", "United Kingdom"];

预期: ListView的高度将设置为其子代所有高度的总和。在这种情况下〜2600

实际: ListView的高度切为1000。

1 个答案:

答案 0 :(得分:0)

能够在IOS上复制它,并且在将行高从GridLayout中的*更改为auto之后,ListView转到列表的末尾。

Auto根据空间中的内容生成总空间,因此我假设在构建页面时不会加载所有内容,因此即使所有项目都在其中,{{ 1}}正在被封顶。

ListView