角形组。单选按钮不激活

时间:2020-09-11 06:32:08

标签: angular forms bootstrap-4 angular-material radio-button

早上好。我正在用角的反应形式。 我正在尝试根据数据库中的正确/错误状态标记两个单选按钮。

使用变量viernesOk = true 效果很好(单选按钮(SI)已激活)。

<div class="col-6">
      <div class="form-check form-check-inline">
        <input class="form-check-input" type="radio" formControlName="viernesOk"  [checked]="form.value.viernesOk === true" value=true>
        <label class="form-check-label" for="inlineCheckbox1">SI</label>
      </div>
      <div class="form-check form-check-inline">
        <input class="form-check-input" type="radio"  formControlName="viernesOk"   [checked]="form.value.viernesOk === false" value=false>
        <label class="form-check-label" for="inlineCheckbox4">NO</label>
     </div>             

enter image description here

问题是,当viernesOk = false时。 它不标记单选按钮(否)。 enter image description here

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

尝试使用表单组将其添加到html

    <div class="col-6" [formGroup]="form">

在您的组件中

form: FormGroup;     
  constructor(fb: FormBuilder){    
      this.form = fb.group({    
        viernesOk:false    
      });   
  }

答案 1 :(得分:0)

尽管不满意,我终于解决了。

1。 变量viernesOk转换为String:

viernesOk:新FormControl(“ false”),

2。

我在报价中加上了引号:

之前

[checked]="form.value.viernesOk=== true "
 value = true
[checked]="form.value.viernesOk=== false "
 value = false

现在

[checked]="form.value.viernesOk=== true "
 value = "true"
[checked]="form.value.viernesOk=== false "
 value = "false"

**Works for angular material:**
<mat-radio-group formControlName="viernesOk">
          <mat-radio-button class="material-radio" value="true"[checked]="form.value.viernesOk === true">SI</mat-radio-button>
          <mat-radio-button class="material-radio" value="false"  [checked]="form.value.viernesOk === false">NO</mat-radio-button>
  </mat-radio-group>

还有引导程序:

<div class="col-6">

      <div class="form-check form-check-inline">
        <input 
        class="form-check-input" 
        type="radio" 
        formControlName="viernesOk"  
        [checked]="form.value.viernesOk === true" 
        value="true">
        <label class="form-check-label">SI</label>
      </div>

      <div class="form-check form-check-inline">
        <input 
      class="form-check-input" 
      type="radio"  
      formControlName="viernesOk"   
      [checked]="form.value.viernesOk === false" 
      value="false">
        <label class="form-check-label">NO</label>
      </div>      
   </div>

因此,我不知道为什么条件语句将布尔值读取为字符串? ; [

相关问题