>我在我的 Ionic 3 应用程序中有一个使用 ion-list 和 ion-item 的虚拟滚动。
<ion-list [virtualScroll]="myArray">
<ion-item *virtualItem="let myItem"></ion-item>
</ion-list>
ion-item 的尺寸必须是设备视口的百分比(百分比(。
我通过 css 以 % 为单位指定嵌套在 ion-item 中的元素的尺寸,以便使它们在所有设备上都能响应。
问题是,我还需要以%为单位指定approxItemWidth和approxItemHeight,但它们只能以px为单位指定。
如何解决此问题并使虚拟滚动响应?
我想过通过javascript检测屏幕宽度和高度,并将%转换为px,用于approxItemWidth和approxItemHeight,但由于这种解决方案似乎很容易实现,这让我想知道是否有原因这在设计上是不可能的?
Ionic是一个移动框架,因此它背后的团队在创建virtualList时必须考虑响应能力。
我错过了什么?
approxItemWidth可以指定px
或%
单位。
每个项模板单元格的大致宽度。此维度为 用于帮助确定在以下情况下应创建多少个单元格 已初始化,并帮助计算可滚动区域的高度。 此值可以使用 px 或 % 单位。请注意,实际呈现的 每个单元格的大小来自应用程序的 CSS,而这个近似值 用于在物料存在之前帮助计算初始尺寸 呈现。默认值为 100%。-源
至于approxItemHeight,您可以尝试这样做:[style.height]="myItemHeight"
由组件设置myItemHeight
的位置this.myItemHeight = ... + "px";