如何在 ionic 4 app ion-list 上放置一个简单的过滤器
How do I put a simple filter on an ionic 4 app ion-list
我有一个列表,它使用离子存储循环遍历 SQlite 数据库的键。我使用 Angular 切片来省略第一行。我还想省略名称为 a_images 的行。我不想对单个文本项使用管道。如果我被迫使用管道,对于单个文本项,管道内的基本代码会是什么样子?
html
<ion-list lines="inset">
<ion-item *ngFor="let i of loop | slice:2">
<ion-label>{{i}}</ion-label>
<ion-button fill="outline" color="success" slot="end" (click)="openKeyValue( i )">Open</ion-button>
</ion-item>
</ion-list>
ts
// Traverse key/value pairs
listKeys() {
this.storage.keys().then((k) => {
console.table(k);
this.loop = k;
console.log("key value", this.loop);
});
}
您可以使用 *ngIf
.
将特殊情况代码放入循环中
类似于:
<ion-list lines="inset">
<ng-container *ngFor="let i of loop | slice:2">
<ion-item *ngIf="i !== 'a_images'">
<ion-label>{{i}}</ion-label>;
<ion-button fill="outline" color="success" slot="end" (click)="openKeyValue( i )">Open</ion-button>
</ion-item>
</ng-container>
</ion-list>
或者,您可以在将数据分配给 this.loop
之前预先过滤数据,例如:
this.loop = this.loop.filter(key => key !== 'a_images');
这是我的代码。
<ion-item-sliding *ngFor="let i of loop | slice:2">
<ion-item *ngIf="i !== 'a_images'">
<ion-label>{{i}}</ion-label>
<ion-button fill="outline" color="success" slot="end" (click)="openKeyValue( i )">Open</ion-button>
</ion-item>
<ion-item-options side="end">
<ion-item-option (click)="deleteKeyValue( i )" color="danger">
<ion-icon slot="icon-only" name="trash"></ion-icon>
</ion-item-option>
</ion-item-options>
</ion-item-sliding>
我有一个列表,它使用离子存储循环遍历 SQlite 数据库的键。我使用 Angular 切片来省略第一行。我还想省略名称为 a_images 的行。我不想对单个文本项使用管道。如果我被迫使用管道,对于单个文本项,管道内的基本代码会是什么样子?
html
<ion-list lines="inset">
<ion-item *ngFor="let i of loop | slice:2">
<ion-label>{{i}}</ion-label>
<ion-button fill="outline" color="success" slot="end" (click)="openKeyValue( i )">Open</ion-button>
</ion-item>
</ion-list>
ts
// Traverse key/value pairs
listKeys() {
this.storage.keys().then((k) => {
console.table(k);
this.loop = k;
console.log("key value", this.loop);
});
}
您可以使用 *ngIf
.
类似于:
<ion-list lines="inset">
<ng-container *ngFor="let i of loop | slice:2">
<ion-item *ngIf="i !== 'a_images'">
<ion-label>{{i}}</ion-label>;
<ion-button fill="outline" color="success" slot="end" (click)="openKeyValue( i )">Open</ion-button>
</ion-item>
</ng-container>
</ion-list>
或者,您可以在将数据分配给 this.loop
之前预先过滤数据,例如:
this.loop = this.loop.filter(key => key !== 'a_images');
这是我的代码。
<ion-item-sliding *ngFor="let i of loop | slice:2">
<ion-item *ngIf="i !== 'a_images'">
<ion-label>{{i}}</ion-label>
<ion-button fill="outline" color="success" slot="end" (click)="openKeyValue( i )">Open</ion-button>
</ion-item>
<ion-item-options side="end">
<ion-item-option (click)="deleteKeyValue( i )" color="danger">
<ion-icon slot="icon-only" name="trash"></ion-icon>
</ion-item-option>
</ion-item-options>
</ion-item-sliding>