Angular 6,如何在循环时更新 Angular 输入字段?

标签 angular angular-material angular6 angular-forms

我正在尝试在 html 页面内生成动态数量的 mat-form-field

我在组件文件中有以下数据:

data = [{
    'name': 'XYZ',
    'id': 1,
    'accNo': 123
  },
  {
    'name': 'ABC',
    'id': 2,
    'accNo': 456
  },
  {
    'name': 'PQR',
    'id': 3,
    'accNo': 567
  }
  ]

在 html 中,我循环如下:

<div class="flex-container">
    <div class="deposit-box" *ngFor="let c of data">
        <div>
            <mat-form-field appearance="outline">
                <mat-label>Name:</mat-label>
                <input matInput placeholder="Placeholder" 
        [(ngModel)]=c.name>
      </mat-form-field>
    </div>
  </div>
</div>

但是我在更新 input 标记中的值时遇到问题。只有第一个 mat-form-field 正在获取值。

Stackblitz:https://stackblitz.com/edit/angular-7a7add

请帮助我。

目前我得到的输出为:

enter image description here

最佳答案

您需要在mat-form内使用ngFor

 <mat-form-field appearance="outline">
    <div *ngFor="let c of data">  
        <mat-label>Name:</mat-label>
        <input placeholder="Placeholder" [(ngModel)]=c.name>
    </div>
  </mat-form-field>

Demo

关于Angular 6,如何在循环时更新 Angular 输入字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53717872/

相关文章:

javascript - 在 Angular 2中创建日志文件

angular - catchError 后合并管道死亡

javascript - 如何启用页面刷新后用户最后打开的默认打开? Angular 6

javascript - Angular react 形式内的切换按钮

javascript - 为什么在 array.push 中调用 Object.create 会返回空对象列表?

angular - 在 Angular NGXS 中访问数组内的嵌套对象

node.js - npm install : Failed at the node-sass@3. 13.1 安装后脚本

Angular 8 @HostListener ('window:scroll' , []) 不起作用

javascript - 浏览器自动填充选项与 Angular Material 自动完成选项重叠

Angular:不推荐使用 create:改用 new Observable()