在输入模糊时保存数组元素



我有一个表格,里面装满了Array的元素,比如说phases: Phase[];

当我的用户单击我的表格的一行时,他能够通过输入编辑其内容,当任何输入模糊(失去焦点(时,我希望将该特定元素的新信息保存在我们的数组中。

我正在寻找一种干净的方法来做到这一点,这是我到目前为止一直在尝试的方式:

<!-- Table rows -->
<tr *ngFor="let phase of phases ; let i = index" [attr.data-index]="i">
   <input value="{{phase.name}}" (blur)="savePhase(phase, i)">  
   <input value="{{phase.milestone}}" (blur)="savePhase(phase, i)">
</tr>

savePhase(phase, index)应该在哪里使用新值保存我们的元素。但是在这里我找不到解决方案的地方,在模糊时,我的方法确实被调用了,但phase的值包含旧的。

我如何让我知道方法:在不传递其新值和名称的情况下要更改哪些特定值(名称、里程碑等(?

如果我执行以下操作:savePhase(phase, index, inputName, inputValue)我的方法将不干净,维护将是地狱般的。

我认为您正在寻找的是ngModel

<tr *ngFor="let phase of phases ; let i = index" [attr.data-index]="i">
   <input [ngModel]="phase.name" (blur)="savePhase(phase, i)">  
   <input [ngModel]="phase.milestone" (blur)="savePhase(phase, i)">
</tr>

最新更新