首页 > 解决方案 > 我有 ngFor 生成的动态 id,如何更改输入的值?

问题描述

我正在用每一列动态加载一个表,行有一个唯一的 ID。如何在OnInit()方法上动态更改单元格内的输入值?

这是我的 html 专栏

<td><input class="form-control" placeholder="Title" value=""
           id="title5{{i5}}" name="title5{{i5}}">
</td>

并尝试通过分配

for (let i = 0; i < rowsFinal.length; i++) {

    let tempArray: any[] = rowsFinal[i];

    const title5 = <HTMLInputElement>document.getElementById('title5' + i);
    title5.value = 'aaa';
    console.log('title5' + i + "=" + title5.value);
}

我的问题是我可以通过其 id 为输入分配任何值。

标签: htmlangularbindingassign

解决方案


尝试在您的输入中使用 [(ngModel)],然后在 component.ts 文件中使用,当您更改该模型的值时,它将在输入示例中更新:

<tr *ngFor="let item of ListOfItems">
<td>
<input [(ngModel)]="item.SomeProperty"/>
</td>
</tr>

然后在 .ts 文件中。

this.ListOfItems[0].SomeProperty = "New Value"; //Use loop and condition for your specific object.

推荐阅读