无法为国家,州,城市下拉列表过滤json数据

时间:2019-01-24 03:51:34

标签: angular

我正在开发一个国家,州,城市依赖的下拉菜单,我需要根据国家/地区填充州详细信息,但无法对其进行过滤。谁能帮我这个忙。我收到以下错误

  

“订阅”类型上不存在“过滤器”。

     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 => {}
          );
      }

1 个答案:

答案 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");
}