我需要在同一页面上有多个 RadListViews,我正在使用 NativeScript Angular
我不知道每个列表中的项目数量,根据项目包含的文本数量,项目的大小可能会有很大差异。
可以这么说,我需要三个相互叠加的 RadList - 第一个可能有 3 个项目,接下来的 72 个和最后 9 个项目。我希望每个列表都能达到其内容要求的高度,这样我就可以将它们放在一起显示,无论它们有多长。
在 Android 上,它的工作原理就像一个魅力 - 每个 radlistview 都占据了显示其项目所需的高度,并在之后立即生成下一个 radlistview
另一方面,在 iOS 上,它非常不同 - 如果我不设置 RadListView 本身的高度,它根本不会显示。
我有两个 RadListViews 生活在一个 GridLayout 中,并且给行一个绝对值,如 row="150, 150" 甚至 rows="*,*" 将显示尽可能多的列表,只要提供的值允许 - 但我需要它是 rows="auto, auto" 因为我不知道每个列表会有多高,我想显示所有项目。
直接在 RadListView 上设置高度也可以,但同样 - 我不知道高度。
直接在 RadListView 上设置 height="100%" 并不能解决我的问题,因为我不能有绝对的父高度。
那么这有可能吗,还是我必须为 height 属性计算一个数字(我真的不想这样做)
再次...问题仅存在于 iOS 设备上。
我尝试将 dataItem 作为 ObservableArray 和对象类型的普通数组提供:name[],因为我认为 ObservableArray 的异步性可能会起作用,但这没关系 - 我什至可以填充文本具有常量 like 而不是 的属性。尽管如此,如果没有在行或 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>