我是nativescript和angular2的新手 . 我想使用用户输入的文本字段输入来过滤listview . 在角度版本1中,我们习惯这样做
<input type="text" ng-model="userinput">
<div ng-repeat="x in items | filter : userinput">
</div>
我怎么能在nativescript中使用angular2呢?
我的列表视图是:
<ListView [items]="myItems" class="list-group">
<template let-item="item">
<StackLayout>
<Label [text]='item.Department' class="list-group-item"></Label>
</StackLayout>
</template>
</ListView>
在我的组件中:
export class someComponent {
public myItem: Array<any>;
public isLoading: boolean;
public constructor(private http: Http) {
this.myItem = [];
this.isLoading = true;
}
public ngOnInit()
{
this.http.get("some_api_url")
.map(result => result.json())
.do(result => console.log(JSON.stringify(result)))
.subscribe(result => {
this.myItem = result;
this.isLoading = false;
}, error => {
console.log("ERROR: ", error);
});
}
}
2 回答
您必须先创建一个用于过滤的管道,例如:
用法:
当数据很大并且它“删除”无匹配项时,nativescript ui listview过滤很慢 . 我更改了一些代码以使其快速并且只显示过滤后的数据 . :)快乐编码:)