Мне нужно несколько RadListViews на одной странице, я использую NativeScript Angular
Я не знаю количество элементов в каждом списке, и элементы могут иметь очень разные размеры в зависимости от количества текста, содержащегося в элементе.
Так сказать, мне нужно три RadList друг на друга - первый может иметь 3 элемента, следующие 72 и последние 9 элементов.
Я хочу, чтобы каждый список определял высоту, требуемую его содержимым, чтобы я мог показывать их друг над другом, независимо от того, как долго они находятся.
В Android это работает как шарм - каждый обзор списка занимает точно такую же высоту, которая необходима для показа его элементов, и создает следующий просмотр списка сразу после
С другой стороны, в iOS все совсем по-другому - если я не установлю высоту самого RadListView, он просто не отобразится.
У меня есть два RadListViews, живущих внутри GridLayout, и присвоение строкам абсолютного значения, например row = "150, 150" или даже rows = "*, *", покажет столько списка, сколько позволяют предоставленные значения - но мне нужно, чтобы это было row = "auto, auto", так как я понятия не имею, насколько высоким будет каждый список, и я хочу показать все элементы.
Установка высоты непосредственно в RadListView также будет работать, но опять же - я не знаю высоту.
Установка высоты = "100%" непосредственно в RadListView не решает мою проблему, поскольку у меня не может быть абсолютной родительской высоты.
Так возможно ли это вообще, или мне нужно вычислить число для свойства высоты (что я действительно не хочу делать)
Опять же ... проблема существует только на устройствах iOS.
Я попытался передать dataItem как ObservableArray и как простой массив типа объектов: name [], потому что я думал, что асинхронность ObservableArray может сыграть свою роль, но это не имеет значения - я могу даже заполните текстовое свойство константой вроде вместо. Тем не менее, если высота не установлена ни для строки, ни для самого RadListView - ничего не появится.
С уважением за
<GridLayout rows="auto, auto'>
<RadListView [items]=" dataItems">
<ng-template tkListItemTemplate let-item="item">
<StackLayout orientation="vertical">
<Label [text]="item.firstname"></Label>
<Label [text]="item.lastname"></Label>
</StackLayout>
</ng-template>
</RadListView>
<RadListView [items]="dataItems">
<ng-template tkListItemTemplate let-item="item">
<StackLayout orientation="vertical">
<Label [text]="item.firstname"></Label>
<Label [text]="item.lastname"></Label>
</StackLayout>
</ng-template>
</RadListView>
</GridLayout>