Как показать только продукт активен = 0 при использовании выбора в Angular - PullRequest
0 голосов
/ 04 сентября 2018

Я хочу показать только активные данные = 0. Я получаю все данные в формате JSON, как показано ниже:

{
    "StatusCode": 0,
    "StatusMessage": "OK",
    "StatusDescription": [
        {   "h_id": "1",
            "active": 0,
            "date_created": "2018-08-02T15:28:52.000Z",
            "serial_number": "4324fdfd",
            "client_id": null
        },
        {   "h_id": "2",
            "active": 0,
            "date_created": "2018-08-02T15:28:52.000Z",
            "serial_number": "3435fdf",
            "client_id": null
        },
        {   "h_id": "3",
            "active": 0,
            "date_created": "2018-08-02T15:28:52.000Z",
            "serial_number": "fgdge43",
            "client_id": null 
        },
        {   "h_id": "4",
            "active": 1,
            "date_created": "2018-08-02T15:28:52.000Z",
            "serial_number": "edf43",
            "client_id": 1
        },
        {
            "h_id": "5",
            "active": 1,
            "date_created": "2018-08-02T15:28:52.000Z",
            "serial_number": "3456677777",
            "client_id": 2
        },
        ....
        {
           "h_id": "10",
            "active": 1,
            "date_created": "2018-08-02T15:28:52.000Z",
            "serial_number": "JDLk32",
            "client_id": 200
        }
      ]
     }

В HTML я пишу этот код, чтобы показать все данные в раскрывающемся списке:

<div class="input-field col s12">
  <select formControlName="h_id" id="h_id" materialize="material_select" [materializeSelectOptions]="hbp" >
    <option value="" disabled selected>Select Hb</option>
    <option *ngFor="let hb of hbp" [value]="hb.h_id">{{hb.serial_number}}</option>
  </select>
</div>

Все значения отображаются правильно в выпадающем списке, но я хочу показать в выпадающем списке только хб, которые имеют active:0

Пожалуйста, можете ли вы спросить меня, как показать только данные active = 0?

Ответы [ 3 ]

0 голосов
/ 04 сентября 2018

Попробуйте * ngIf для условия в ng-контейнере

**<select>
   <ng-container *ngFor="let hb of hbp">
     <option *ngIf="hb.active == 0"  [ngValue]="hb.h_id" ></option>
   </ng-container>
</select>**
0 голосов
/ 04 сентября 2018

Вы можете изменить свой HTML-код на что-то вроде этого:

<select id="h_id">
  <option value="" disabled selected>Select Hb</option>
  <ng-container *ngFor="let hb of hbp.StatusDescription">
    <option *ngIf="hb.active === 0">{{hb.serial_number}}</option>
  </ng-container>
</select>
0 голосов
/ 04 сентября 2018

Создайте геттер в вашем компоненте.

get zeroHbp() {
  return this.hbp && this.hbp.filter(hb => hb.active === 0) || [];
}
<option *ngFor="let hb of zeroHbp" [value]="hb.h_id">{{hb.serial_number}}</option>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...