【问题标题】:Toggle Radio button not working in reactive form - angular 8切换单选按钮不以反应形式工作 - 角度 8
【发布时间】:2019-10-24 22:33:56
【问题描述】:

我在 Angular 8 中使用反应形式,并有一个性别切换单选按钮。 切换单选按钮不返回 selected 的值。

html代码

<form id="sb-signup-form" method="post" novalidate="" [formGroup]="registerForm" (ngSubmit)="register($event)">
 <div class="btn-group btn-group-toggle" data-toggle="buttons">
  <label class="btn btn-primary active">
      <input id="male" type="radio" class="custom-control-input" value="male" name="gender" formControlName="gender"> Male
  </label>
  <label class="btn btn-primary">
      <input id="female" type="radio" class="custom-control-input" value="female" name="gender" formControlName="gender"> Female
  </label>
 </div>
</form>

.ts 代码

registerForm: FormGroup;
ngOnInit() {
    this.registerForm = this.formBuilder.group({
      gender: ['male']
  });
  }

register(e) {
    console.log(this.registerForm.value);
  }

gender 的值总是'male',这是默认值。

【问题讨论】:

    标签: angular-reactive-forms angular8 togglebutton


    【解决方案1】:

    这是因为data-toggle="buttons",删除它你会看到它工作并通过编写自定义函数将活动类添加到标签。

    【讨论】:

      【解决方案2】:

      像这样试试 在 HTML 文件中:

      <form [formGroup]="form">
         <label>
           <input type="radio" value="Male" formControlName="gender">
             <span>male</span>
         </label>
         <label>
           <input type="radio" value="Female" formControlName="gender">
             <span>female</span>
         </label>
      </form>
      

      在 TS 文件中:

      form: FormGroup;
        constructor(fb: FormBuilder) {
          this.name = 'Angular2'
          this.form = fb.group({
            gender: ['', Validators.required]
          });
        }
      

      【讨论】:

      • 感谢 Mustafa-Kunwa,但您对普通单选按钮的回答。我需要切换单选按钮。
      • 那只会给你真假结果
      猜你喜欢
      • 1970-01-01
      • 2019-05-25
      • 1970-01-01
      • 1970-01-01
      • 2017-02-20
      • 2021-07-19
      • 1970-01-01
      • 2019-03-21
      • 1970-01-01
      相关资源
      最近更新 更多