ListView не отображает все элементы одновременно - PullRequest
0 голосов
/ 20 мая 2019

ListView в nativescript-ng не отображает все свои элементы сразу.

У меня есть массив, содержащий около 26 элементов, на данный момент только строки.Когда я использовал tns debug ios и проверил в своем браузере Chrome, рендеринг только 20 из них, а высота ListView установлена ​​на 1000. Даже добавление большего количества элементов не изменит это значение, и последний элемент для рендеринга по-прежнему будет один впозиция 20.

Я добавляю анимацию в свойство translateY в ListView, и мне нужна полная высота для работы анимации.

<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 голосов
/ 20 мая 2019

Был в состоянии повторить это на IOS, и после того, как я изменил высоту строки на * с auto в GridLayout, ListView переходит в конец списка.

Auto создает общее количествопространство, основанное на том, что находится в пространстве, поэтому я предполагаю, что не все загружается, когда страница построена, поэтому, даже если все элементы присутствуют, высота ListView ограничена.

<GridLayout rows="auto, *" columns="*">
...
</GridLayout>
...