当前位置: 首页 > 知识库问答 >
问题:

用ngFor和ngModel显示angular 4材料的formArrayName

双恩
2023-03-14
<li>
 <h4>Telephone</h4>
 <div class="lists" formArrayName="telephones">
  <mat-form-field *ngFor="let telephone of userData.telephones; let i = index">
   <input matInput [(ngModel)]="telephone">
  </mat-form-field>
 </div>
</li>

共有1个答案

桑飞语
2023-03-14

不要混合反应形式与模板驱动。选哪一个。因为您使用的是数组,所以请使用反应表单。似乎您的数组是基元类型的,这意味着您可以直接赋值,而无需循环数组。

constructor(private fb: FormBuilder) {
  this.myForm = this.fb.group({
    telephones: this.fb.array(this.userData.telephones)
  });
  // if receiving data at a later point, use below instead
  //this.myForm.setControl('telephones', this.fb.array(this.userData.telephones))
}

然后在模板中迭代表单数组(这里没有角材料):

<div formArrayName="telephones">
  <div *ngFor="let tel of myForm.controls.telephones.controls; let i = index">
    <input [formControlName]="i" />
  </div>
</div>

斯塔克布利茨

 类似资料:
  • 描述 (Description) Framework7通知也可用于材质布局。 例子 (Example) 以下示例演示了Framework7中材质布局通知的使用 - <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-sca

  • 我从官方网站学习Angular 4,我通过ngModel学习了双向数据绑定部分。但是,只要我将[(ngModel)]添加到组件模板中,我的应用程序就会停止工作,即使FormsModule已导入模块中。ts文件。组件未加载 我正在使用Visual Studio代码<这是我的应用程序。组成部分ts 这是一个应用程序。单元ts AppComponent没有加载,只是显示 加载。。。

  • 在ngFor循环中使用ngModel有一个问题。我在做电子商务应用程序,我想用数量来获得输入的价值,但每个ngModel都有相同的名称,所以它一直更新所有的输入,像这样:Img和下面是我的页面代码:

  • 但是,如果我这样做,'Required'验证器在单击Submit按钮时不起作用。 我试过几种方法: > 没有设置[ngModelOptions]=“{standalone:true}”,而是尝试了name='person:{{$index}}‘。不起作用。

  • 在使用Java库生成密钥时,我对密钥材料感到困惑, 根据SecretKeySpec文件, 返回此密钥的密钥材料。 关键材料到底是什么,因为如果我试着打印任何像这样的密钥, 我得到奇怪的输出, 但当我使用任何编码方案打印它时,比如Base64、Base16,我会得到实际的密钥。 谁能解释一下关键材料到底是什么?

  • 我想突出显示点击的选定值的背景颜色。我正在演示这个例子,它突出显示了多个选择值。我想在单击以选择一个选项时只突出显示所选的值。