невозможно привязать значение к переключателю

#javascript #html #angular #typescript

#javascript #HTML #угловой #typescript

Вопрос:

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

HTML

   <div *ngFor="let item of data; let i = index">
  <nb-radio-group class="p-3 d-inline-flex">
                            <nb-radio [checked]="item.data.v === true">open</nb-radio>
                            <nb-radio [checked]="item.data.v === false">close</nb-radio>
                          </nb-radio-group>
  </div>
  

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

Ответ №1:

Пожалуйста, рассмотрите возможность использования свойства value

 <nb-radio-group class="p-3 d-inline-flex" [(value)]="item.data.v">
  <nb-radio [value]="true">open</nb-radio>
  <nb-radio [value]="false">close</nb-radio>
</nb-radio-group>
  

Ответ №2:

вы должны использовать * ngswitch для отображения вашего варианта, затем в зависимости от того, нажмет пользователь или нет, вы будете привязывать данные, см. Этот пример, используя флажок, а также item.data, v должно быть логическим

 enter code here
<td><input type="checkbox" [(ngModel)]="item.done" /></td>
<td [ngSwitch]="item.done">
<span *ngSwitchCase="true">
      Yes
</span>
<span *ngSwitchDefault>
      No
</span>
</td>
  

а также вы должны использовать фильтр для возврата данных на основе true или false