【发布时间】:2017-06-11 16:11:28
【问题描述】:
我要做的是在 ionic 2 应用程序中每行显示 2 列,当用户在搜索框中输入一些文本时,例如键入仅存在于第二行的文本,第一个一个消失了(实际上现在发生了,但将第二列保留在右侧,而不是让它代替隐藏的那一列)。
这是我现在使用的代码,它没有让我的列在同一行:
<ion-grid>
<div [ngSwitch]="top">
<div *ngSwitchCase="'resto'">
<ion-row responsive-sm wrap *ngFor="let data of topRestaurants | ArrayObject ">
<ion-col col-6 *ngIf="data.value['title'].toLowerCase().includes(textFilter)">
<ion-card>
<ion-col col-12 no-margin no-padding><img src="{{data.value['logo']}}"/></ion-col>
<ion-col col-12 no-margin no-padding>
<ion-card-content>
<ion-card-title>
{{data.value['title']}} <ion-badge item-end>{{(data.value['distance']) | number:'1.2-2'}} km</ion-badge>
</ion-card-title>
<p>
<small><rating [score]="data.value['overall_rating']" [max]="5"></rating> ({{data.value['reviews_count']}}) Avis</small>
</p>
</ion-card-content>
</ion-col>
</ion-card>
</ion-col>
</ion-row>
</div>
当我使 ion-col 样式如下所示:display : inline-block, width:50% 时,它几乎可以正常工作,但即使 ngIf 为 false (因为该行仍然存在于 DOM 中,所以我们删除了 col :/)
【问题讨论】:
-
那么我想你必须阅读我的整个问题,因为在标题的某些部分提到它,有一个 If 持有问题的一部分:)
-
是的 :) 也许我不明白,但你不希望这些项目总是在两列的行中吗?如果您在 ion-col 上有 *ngFor,您将有一行,但有 n 列。但是因为一旦“宽度计数”列超过 12,它就会换行。您现在拥有它的方式可以防止 ion-cols 垂直移动。
-
您找到解决方案了吗?
标签: angular ionic-framework ionic2