не получаются значения true и false для нескольких флажков, angular - PullRequest
0 голосов
/ 03 апреля 2020

это мой флажок в шаблоне

 <label class="checkbox-inline" *ngFor="let option of options">
                    <input
                      type="checkbox"
                      name="{{ option.name }}"
                      (change)="onChangeOptions($event)"
                    />{{ option.value }}
                  </label>

В файле TS

 days: any = [
    {
      id: 1,
      name: "repeat_1",
      isActive: true,
      value: "1"
    },
    {
      id: 2,
      name: "repeat_2",
      isActive: false,
      value: "2"
    },
    {
      id: 3,
      name: "repeat_3",
      isActive: false,
      value: "3"
    }
  ];

      public onChangeOptions(event): void {
        const a = event.target.checked;
        console.log("display val",a);
      }

я просто получаю значение false или true, которое меняется с каждым флажком, оно действует как общий флажок Мне нужны истинные ложные значения в массиве, чтобы я мог назначить их своим глобальным переменным repeat_1, repeat_2 repeat_3 соответственно

1 Ответ

1 голос
/ 03 апреля 2020

Флажок всегда будет возвращать только true / false. Вам необходимо передать параметр в функцию onChangeOptions (), и, если флажок установлен в true, использовать значение из параметра:

<label class="checkbox-inline" *ngFor="let option of options">
  <input
   type="checkbox"
   name="{{ option.name }}"
   (change)="onChangeOptions($event, option)"
  />{{ option.value }}
</label>
public onChangeOptions(event, option): void {
   const a = event.target.checked;

   if (a === true) {
     console.log("display val", option.value);
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...