【问题标题】:How to set formgroup data from angular如何从角度设置表单组数据
【发布时间】:2019-02-14 18:36:36
【问题描述】:

我有一个如下的表单组:

 this.myform = this.fb.group({
      mydata: ''
    });

我能够使用 formgroup setValue 设置数据,但在呈现 HTML 中的值时,未选择该选项。 这是 HTML:

   <div *ngFor="let item of (items$ | async); index as i; first as first">
        <input type="radio" id="{{item.itemId}}" name="test" value="{{item.itemId}}"  [formControl]="myform.controls.mydata" 
    selected = "(items$ | async).length ===1">
</div>

这不会选择 HTML 中的第一个输入标签,但在 typescript 中表单是有效的。

【问题讨论】:

  • 到目前为止你有没有尝试过?
  • 只需在您的formControlName="mydata" 上添加selected。每次您将表单设置为有效时,只需查看以下内容:stackoverflow.com/questions/44508982/…
  • 是否可以像 selected = "{{item.length >1}}" 那样动态地做到这一点,这对我来说真的不起作用

标签: html angular formgroups


【解决方案1】:

使用setValue() 方法为单个控件设置新值。 setValue() 方法严格遵守表单组的结构,为控件替换整个值。

this.myform.setValue({ mydata: 'yourData' });

【讨论】:

  • 这不会更新 HTML。我看不到单选按钮被选中
【解决方案2】:

使用patchValue 设置整个表单的值

 this.myform .patchValue({ mydata: 'yourData' });

【讨论】:

    猜你喜欢
    • 2016-04-19
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    • 2021-06-04
    • 1970-01-01
    • 1970-01-01
    • 2019-09-07
    • 2021-08-31
    相关资源
    最近更新 更多