Angular 4 FormControl基于ngFor

时间:2018-01-04 07:48:34

标签: angular angular-material angular4-forms

我有一个自动完成下拉列表,我选择的任何内容都应该添加到aray中,并在其他下方呈现一个。我正在推选所选对象并使用ngFor我正在渲染值加上一个输入字段来指定数量。

问题是,一旦我选择了一个项目,并且它被渲染,我在文本框中输入了一些值,当我再次从自动完成中选择另一个产品时,第一个值重置为0.我假设名称控制是相同的这正在创造这个问题。但是如何创建新控件,因为我在加载期间创建了formbuilder组。附上图像以获得更清晰的想法。 enter image description here

1 个答案:

答案 0 :(得分:0)

这个问题来自Angular如何处理HTML中的循环。

为避免出现此类行为,您需要更改此代码

<ng-container *ngFor="let x of y">
  <span>{{x}}</span>
</ng-container>

到此

<ng-container *ngFor="let x of y; let i = index; trackBy:x.__ID"> // Use an unique identifier in place of __ID
  <span>{{x}}</span>
</ng-container>