在 angular 6+ 中创建动态 ngModel
To create dynamic ngModel in angular 6+
您好,我正在创建一个 table,其中的行会根据特定条件发生变化。
<table id="totBudget">
<thead>
<tr>
<th></th>
<th>CC_1</th>
<th>CC_2</th>
<th>CC_3</th>
<th>CC_4</th>
<th>Total</th>
<th>CC_NAME</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let item of source; let i= index">
<td>{{item.name}}</td>
<td><input type="text" class="{{item.value}}1" id="{{item.value}}1"></td>
<td><input type="text" class="{{item.value}}2" id="{{item.value}}2"></td>
<td><input type="text" class="{{item.value}}3" id="{{item.value}}3"></td>
<td><input type="text" class="{{item.value}}4" id="{{item.value}}4"></td>
<td><input type="text" class="{{item.value}}tot" id="{{item.value}}tot"></td>
<td><input type="text" class="{{item.value}}cc" id="{{item.value}}cc"></td>
</tr>
</tbody>
</table>
我需要创建一个动态 ngModel,其名称与行示例中提到的 id 相同:{{item.value}}1。
在这里我不确定如何为名称取决于 item.value 和 table 行的所有输入创建 ngModel。
如果您有任何建议,请告诉我。
您可以像这样创建对象来保存 table 的状态
TS:
tableObject ={}
HTML:
<tr *ngFor="let item of source; let i= index">
<td>{{item.name}}</td>
<td><input type="text" [(model)]="tableObject[item.value +'1']" class="{{item.value}}1" id="{{item.value}}1"></td>
<td><input type="text" [(model)]="tableObject[item.value +'2']" class="{{item.value}}2" id="{{item.value}}2"></td>
...
</tr>
让我知道对你有帮助
您好,我正在创建一个 table,其中的行会根据特定条件发生变化。
<table id="totBudget">
<thead>
<tr>
<th></th>
<th>CC_1</th>
<th>CC_2</th>
<th>CC_3</th>
<th>CC_4</th>
<th>Total</th>
<th>CC_NAME</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let item of source; let i= index">
<td>{{item.name}}</td>
<td><input type="text" class="{{item.value}}1" id="{{item.value}}1"></td>
<td><input type="text" class="{{item.value}}2" id="{{item.value}}2"></td>
<td><input type="text" class="{{item.value}}3" id="{{item.value}}3"></td>
<td><input type="text" class="{{item.value}}4" id="{{item.value}}4"></td>
<td><input type="text" class="{{item.value}}tot" id="{{item.value}}tot"></td>
<td><input type="text" class="{{item.value}}cc" id="{{item.value}}cc"></td>
</tr>
</tbody>
</table>
我需要创建一个动态 ngModel,其名称与行示例中提到的 id 相同:{{item.value}}1。 在这里我不确定如何为名称取决于 item.value 和 table 行的所有输入创建 ngModel。 如果您有任何建议,请告诉我。
您可以像这样创建对象来保存 table 的状态
TS:
tableObject ={}
HTML:
<tr *ngFor="let item of source; let i= index">
<td>{{item.name}}</td>
<td><input type="text" [(model)]="tableObject[item.value +'1']" class="{{item.value}}1" id="{{item.value}}1"></td>
<td><input type="text" [(model)]="tableObject[item.value +'2']" class="{{item.value}}2" id="{{item.value}}2"></td>
...
</tr>
让我知道对你有帮助