Как добавить дополнительные строки в существующую наблюдаемую - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь создать расширяемую строку, похожую на угловой пример. Пример

В настоящее время моим источником данных является объект BehaviorSubject, который возвращает Observable в методе connect.

Как добавить дополнительные строки в существующий код?

private gizmoSubject = new BehaviorSubject<Gizmo[]>([]);

  connect(collectionViewer: CollectionViewer): Observable<Gizmo[]> {
    const rows = [];
    this.gizmoSubject.forEach(x => rows.push(x, { detailRow: true, x }));
    console.log(rows);
    return of(rows);

    // This was the original code.
    //return this.gizmoSubject.asObservable();
  }

Сначала я попытался справиться с этим, когда получаю данные из API, но я также не смог заставить его работать там.

loadGizmos(findParams: GizmoParameters) {

  this.loadingSubject.next(true);

  this.gizmoService.findGizmos(findParams)
    .pipe(
      finalize(() => this.loadingSubject.next(false))
    )
    .subscribe(x => {
      this.gizmoSubject.next(x);
    });  
}
  • Я пытался использовать карту вэтот метод, но я не мог получить правильный синтаксис.Буду ли я лучше обрабатывать этот тип манипуляции здесь, в отличие от метода подключения?

1 Ответ

0 голосов
/ 16 октября 2018
private rows = []

private gizmoSubject = new BehaviorSubject<Gizmo[]>([]);

connect(collectionViewer: CollectionViewer): Observable<Gizmo[]> {
  return this.gizmoSubject.asObservable().pipe(
    map(x => {
      this.rows.push(x, { detailRow: true, x })
      return rows
    }
  )
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...