【发布时间】:2019-06-18 13:05:20
【问题描述】:
我从这个函数中正确获取了所有数据:
getallpharma() {
this.pharma.mobile_base_pharmacyGetAll().subscribe(
items => {
this.items = items;
},
err => console.error('err', err),
() => console.log('error')
);
}
这是 JSON
{ "StatusCode": 0,
"StatusMessage": "OK",
"StatusDescription": [
{
"pharmacy_id": "011E752345553380ABC13FFA163ECD15",
"name": "Pharmacy",
"email": "email@testpharmacy.com",
"website": "testpharmacy.com",
"address1": "Test Pharmacy, Test Country, Test City",
},
{
"pharmacy_id": "011E762345552280FBC13FFA163ECD10",
"name": "Test Pharmacy",
"email": "email@testpharmacy.com",
"website": "testpharmacy.com",
"address1": "Test Pharmacy, Test Country, Test City",
}
]
}
对于搜索,我正在使用这个不起作用的功能:
public items: Array<FarmaciaData> = [];
public myData: ObservableArray<FarmaciaData> = new ObservableArray<FarmaciaData>();
public onSearchSubmit(args) {
let searchBar = <SearchBar>args.object;
let searchValue = searchBar.text.toLowerCase();
this.myData = new ObservableArray<FarmaciaData>();
if (searchValue !== "") {
for (let i = 0; i < this.items.length; i++) {
if (this.items[i].name.toLowerCase().indexOf(searchValue) !== -1) {
this.myData.push(this.items[i]);
}
}
}
}
你能告诉我如何在这个函数中搜索数据吗?
【问题讨论】:
-
我猜你正在使用 Angular,在这种情况下你真的不必依赖 ObservableArray。如果您的 UI 没有更新,那么可能是您这样做的方式,可能是更改检测的问题。请分享一个可以重现问题的 Playground 示例。
-
@Manoj 你有什么想法吗?
标签: search nativescript