首页 文章

将表格控制绑定到角度4及以上的无线电组和文本区域

提问于
浏览
0

技术和版本:角度:4.4材料:beta12反应形式

我有一个用户可以选择一个选项的场景,在选择其中一个选项后,用户必须在textarea中输入文本(禁用直到选择该选项) .
enter image description here

选择时,应禁用任何文本区域,并且应启用“是”文本区域 . 我正在使用反应式表单,代码就像这样

<div fxLayout="row" fxLayoutAlign="start">
<mat-hint align="start" fxFlex="1 1 30%" fxFlex.xs="1 1 100%">
  <strong>Functional hardware dependencies:</strong>
</mat-hint>
<mat-radio-group fxFlex="1 1 15%" fxFlex.xs="1 1 100%" fxLayout="column" fxLayoutGap="0.5rem" [formControl]="CRFormGroupData.controls.functionalHWDependencies">
  <mat-radio-button color="primary" value="none">None</mat-radio-button>
  <mat-radio-button color="primary" value="yes">Yes, namely</mat-radio-button>
</mat-radio-group>
<div fxFlex="1 1 55%" fxFlex.xs="100%">
  <div fxLayout="column" fxFlex="1 1 100%">
    <div fxFlex="1 1 auto"></div>
    <mat-form-field fxFlex="1 1 75%" floatPlaceholder="never" fxFlex.xs="100%">
      <textarea matInput [formControl]="CRFormGroupData.controls.functionalHWDependencies" placeholder="Please define the dependencies"></textarea>
    </mat-form-field>
  </div>
</div>

在我的控制器中

CRFormGroupData=this.fb.group({functionalHWDependencies: [''],
  functionalSWDependencies: ['']});

输出:值应该是“无” - >当选择的选项是无值时,应该是textarea中输入的任何值 - >当用户选择其他选项时)

可能还有3到4个选项以及更多文本区域 . 所以我想弄清楚最好的方法

1 回答

  • 0

    如果要禁用controlForm,可以尝试:

    this.yourControlFormToDisable
      .reset({value: '', disabled: false});
    

    它会以禁用状态重置您的表单 .

    如果您通过以下方式收听单选按钮的更改,则会执行此操作:

    (change)="yourFunction($event)"
    

相关问题