我有一个自动完成下拉列表,我选择的任何内容都应该添加到aray中,并在其他下方呈现一个。我正在推选所选对象并使用ngFor我正在渲染值加上一个输入字段来指定数量。
问题是,一旦我选择了一个项目,并且它被渲染,我在文本框中输入了一些值,当我再次从自动完成中选择另一个产品时,第一个值重置为0.我假设名称控制是相同的这正在创造这个问题。但是如何创建新控件,因为我在加载期间创建了formbuilder组。附上图像以获得更清晰的想法。
答案 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>