Добавление свойства в наблюдаемые данные перед возвратом через функцию соединения углового материала - PullRequest
0 голосов
/ 23 ноября 2018

Я использую таблицу угловых материалов. Внутри функции подключения я возвращаю наблюдаемого типа пациента.Но мне нужно обновить значение терпеливых данных, наблюдаемых перед возвратом. Я должен добавить «Активное свойство, если идентификатор пациента существует в массиве redrows.

функция подключения таблицы данных

connect(): Observable<Patient[]> {
    const patientData = this.patientService.getPatient();

    patientData.subscribe((jsonData) => {
      const redRows = this.getAge(jsonData);
      for (let a = 0; a < jsonData.length; a++) {
        if (redRows.includes(jsonData[a].id)) {
          jsonData[a].active = 'Active';
        } else {
          jsonData[a].active = 'Not Active';
        }
      }
      return jsonData;

    },
      (err) => console.error(err),

      () => console.log('observable complete'));
    return patientData;
 }

1 Ответ

0 голосов
/ 23 ноября 2018

Изменение данных и возврат из subscription не изменят наблюдаемое, не subscribe() в connect().Используйте map оператор из rxjs для изменения данных.

import { map} from "rxjs/operators"

connect(): Observable<Patient[]> {
    return this.patientService.getPatient().pipe(
        map((jsonData) => {
            const redRows = this.getAge(jsonData);
            for (let a = 0; a < jsonData.length; a++) {
                if (redRows.includes(jsonData[a].id)) {
                    jsonData[a].active = 'Active';
                } else {
                    jsonData[a].active = 'Not Active';
                }
            }
            return jsonData;
        })
    )
}

subscribe до connect() везде, где вы его используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...