【问题标题】:Ionic 3 - How to create a responsive ion-item inside an ion-list virtualScroll?Ionic 3 - 如何在离子列表 virtualScroll 中创建响应式离子项?
【发布时间】:2017-07-15 01:25:24
【问题描述】:

我在 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 来指定。

如何解决这个问题并让 virtualScroll 响应?

我考虑过通过 javascript 检测屏幕宽度和高度,并自己将 % 转换为 px 以获得 approxItemWidth 和 approxItemHeight,但是由于这种解决方案似乎很容易实现,所以我想知道是否有原因无法通过设计?

Ionic 是一个移动框架,因此它背后的团队在创建 virtualList 时必须考虑到响应能力。

我错过了什么?

【问题讨论】:

    标签: javascript ionic-framework ionic2 ionic3


    【解决方案1】:

    approxItemWidth 可以指定px% 单位。

    每个项目模板单元格的大致宽度。这个维度是 用于帮助确定何时应创建多少个单元格 初始化,并帮助计算可滚动区域的高度。 此值可以使用 px 或 % 单位。注意实际渲染的 每个单元格的大小来自应用程序的 CSS,而这个近似值 用于帮助计算项目之前的初始尺寸 呈现。默认值为 100%。 - source

    至于 approxItemHeight 你可以试试这个:[style.height]="myItemHeight" 其中myItemHeight 由你的组件设置this.myItemHeight = ... + "px";

    【讨论】:

    • 感谢您的回答。为什么不能将 approxItemHeight 设置为 % 以及如何设置 style.height 来处理 approxItemHeight?这不是两种不同的东西吗?
    • 更多关于forum.ionicframework.com/t/…上面的答案虽然,我现在停止使用VirtualScroll。
    • 它并没有真正回答我的问题。我很好奇,你用什么来替代 VirtualScroll,你为什么停止使用它?
    • 我将所有数据保存到 SQLite,然后使用 *ngFor 显示它。 VirtualScroll 似乎不稳定。
    猜你喜欢
    • 2018-07-26
    • 1970-01-01
    • 2016-09-02
    • 2018-04-28
    • 2019-01-19
    • 2023-03-25
    • 2022-01-15
    • 2020-09-03
    • 2021-12-08
    相关资源
    最近更新 更多