Nativescript Angular Dynamic Grid Layout из массива

Новичок в Nativescript здесь! Я пытался отобразить элементы внутри массива объектов в формате сетки (например: https://www.npmjs.com/package/nativescript-grid-view) безрезультатно. Я могу прокручивать и отображать элементы в обычном списке с помощью кода ниже:

<GridLayout>
    <ListView [items]="itemList" class="small-spacing">
        <ng-template let-item="item">
            <Label [text]="item.name" class="medium-spacing"></Label>
        </ng-template>
    </ListView>
</GridLayout>

Вот моя структура массива:

[{"id":1, "name":"item1"},{"id":2, "name":"item2"},{"id":3, "name":"item3"},{"id":4, "name":"item4"},...]

Я хотел бы иметь возможность динамически/программно генерировать и заполнять ячейки в сетке данными из приведенного выше массива образцов в столбцах 2 или 3 (максимум), как показано ниже:

+-------------+-------------+-------------+
|             |             |             |
|             |             |             |
|             |             |             |
+-------------+-------------+-------------+
|             |             |             |
|             |             |             |
|             |             |             |
+-------------+-------------+-------------+
|             |             |             |
|             |             |             |
|             |             |             |
+-------------+-------------+-------------+

Я попробовал очень мало упоминаний об этом сценарии, которые нашел в Интернете, но без радости - пожалуйста, помогите!


person Sech    schedule 17.06.2017    source источник


Ответы (1)


Один из простых способов добиться этого для списка элементов — использовать RadListView с StaggeredLayout. RadListView можно использовать бесплатно с nativescript-telerik-ui (не профессиональная версия), и его можно настроить для упорядочения элементов в шахматных ячейках, как показано в приведенной выше ссылке.

<ListViewStaggeredLayout tkListViewLayout spanCount="3"></ListViewStaggeredLayout>

Полную демонстрацию, демонстрирующую, как использовать RadListView с разнесенным макетом, можно найти здесь

person Nick Iliev    schedule 21.06.2017