小编Akh*_*abu的帖子

类型“Observable<>”上不存在属性“filter”

enter code here


    getHospital(term: string = null): Observable<Hospitals[]> {
    let items = this.getHospitals1();
    if (term) {
      items = items.filter(x => x.name.toLocaleLowerCase().indexOf(term.toLocaleLowerCase()) > -1);

    }
    return items.pipe(delay(500));;
  }



getHospitals1() : Observable<Hospitals[]>{

     return this.http.get<Hospitals[]>('https://my-json-server.typicode.com/monsterbrain/FakeJsonServer/hospitals')

   }
Run Code Online (Sandbox Code Playgroud)

当我添加过滤器时发生错误 这是使用 ng-select 的下拉列表的代码。它基于基于文本的搜索,这里使用 angular7 和 rxjs 6

rxjs angular-ngselect angular angular6 rxjs6

2
推荐指数
1
解决办法
5422
查看次数

输入'Observable <any [] | Observable <any [] >>'不能赋值为'Observable <any []>'

我正在使用ng-select v2angular 7.

我在下面的return语句中收到错误

getHospital(term: string = null): Observable<Hospitals[]> {
    let items = this.getHospitals1();
    if (term) {
      items = items.pipe(
        filter((x,i) => x[i].name.toLocaleLowerCase().indexOf(term.toLocaleLowerCase()) > -1)
      )
    }
    return of(items).pipe(delay(500));
  }
Run Code Online (Sandbox Code Playgroud)

3个错误说:

  • 类型'Observable>'不能分配给'Observable'类型.
  • 输入'Hospitals [] | Observable'不能分配给'Hospitals []'.
  • 类型'Observable'不能分配给'Hospitals []'.

这是我的getHospitals1函数

getHospitals1() : Observable<Hospitals[]>{
    return this.http.get<Hospitals[]>('https://my-json-server.typicode.com/monsterbrain/FakeJsonServer/hospitals')
   }

export interface Hospitals {
  id: string;
  name: string;
  address: string;
}
Run Code Online (Sandbox Code Playgroud)

应该改变什么来解决这个问题?

rxjs angular-ngselect angular rxjs6 angular7

0
推荐指数
1
解决办法
90
查看次数

标签 统计

angular ×2

angular-ngselect ×2

rxjs ×2

rxjs6 ×2

angular6 ×1

angular7 ×1