0

基本的にはこのプランカーのようなものです

<form [formGroup]="form">
  <div class="form-control" *ngFor="let item of foods">
    <input type="radio" formControlName="food" value="{{item}}"> {{item}}
  </div>
</form>

非常に単純な反応形。

ただし、実際のプロジェクトに正確なコードを配置すると。うまくいきません。

チェックされたプロパティをtrueに設定しようとしていることがわかります

この行でthis._renderer.setElementProperty(this._elementRef.nativeElement, 'checked', this._state);

ただし、ロード後に画面上でチェック済みとしてマークされません。

タイプをチェックボックスに変更すると、正常に動作します。

ngModel を使用すると、問題なく動作します。

他に何がうまくいかないのかわかりません。

アップデート:

別のスターターでテストしました

それもうまくいきません。

コンポーネントは次のようになります

import { FormBuilder } from '@angular/forms';
import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-test',
  template: `
  <form [formGroup]="form">
   <div *ngFor="let x of foods">
      <input type="radio" value="{{x}}"  formControlName="food"> {{x}}
   </div>
  </form>
`,
  styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
  form;
  foods = ['beef', 'lamb', 'fish'];

  constructor(private _FormBuilder: FormBuilder
  ) { }

  ngOnInit() {
    this.form = this._FormBuilder.group({
      food: 'lamb'
    });
  }
}
4

1 に答える 1