我正在开发一个国家,州,城市依赖的下拉菜单,我需要根据国家/地区填充州详细信息,但无法对其进行过滤。谁能帮我这个忙。我收到以下错误
“订阅”类型上不存在“过滤器”。
onSelectCountry(country_id: number) {
this.selectedCountry = country_id;
this.selectedState = 0;
this.cities = [];
this.states = this.getStates().filter((item) => {
return item.country_id === Number(country_id)
});
}
getStates() {
return this.http.get("https://api.myjson.com/bins/1a72vg").subscribe(
response => {}
);
}
答案 0 :(得分:0)
问题:您尝试返回的是Subscription,而不是实际数据,然后对其应用过滤器(从显示的错误中可以很明显地看出来。)
解决方案:
从getStates()
返回一个Observable,然后在OnSelectCountry()
内订阅它。下一步是应用过滤器。
onSelectCountry(country_id: number) {
this.selectedCountry = country_id;
this.selectedState = 0;
this.cities = [];
this.getStates().subscribe((states) => {
this.states = states.filter((item) => {
return item.country_id === Number(country_id)
});
})
}
getStates() {
return this.http.get("https://api.myjson.com/bins/1a72vg");
}