Angular 2 中的动态下拉问题
Dynamic drop-down issues in Angular 2
我正在尝试从 table td 中的动态下拉菜单 select selected 'option',其中 tr 迭代了 18 次。将 ngModel 放在 'Select' 中会导致所有行使用相同的 selection!如何使每个独立使用 ngModel 将数据发送到 ts 文件?
HTML:
<tr class="row header" *ngFor = "let par of Course; let i=index" >
<td class="col">{{i +1}}</td>
<td class="col1">{{par.Index}}</td>
<td class="col">{{par.Par}}</td>
<td class="col2">{{getPoints(par)}}</td>
<td class="col">{{getShots(par)}}</td>
<td class="col3" ><select [(ngModel)]="sel" (change)="onChangeScore(sel)">
<option *ngFor= "let s of items" >{{s}}</option></select></td>
</tr>
您正在迭代 X 个元素,但您对每个 par
使用相同的变量 sel
。我建议您将选择分配给 par
,这样您就可以轻松地从 Course
数组中获取它。为此,请替换为:
<select [(ngModel)]="sel" (change)="onChangeScore(sel)">
对此:
<select [(ngModel)]="par.sel" (change)="onChangeScore(par.sel)">
然后在您的 ts 文件中,您可以通过以下方式轻松访问它:
onChangeScore(selection) {
console.log(selection);
}
很高兴我能提供帮助
我正在尝试从 table td 中的动态下拉菜单 select selected 'option',其中 tr 迭代了 18 次。将 ngModel 放在 'Select' 中会导致所有行使用相同的 selection!如何使每个独立使用 ngModel 将数据发送到 ts 文件?
HTML:
<tr class="row header" *ngFor = "let par of Course; let i=index" >
<td class="col">{{i +1}}</td>
<td class="col1">{{par.Index}}</td>
<td class="col">{{par.Par}}</td>
<td class="col2">{{getPoints(par)}}</td>
<td class="col">{{getShots(par)}}</td>
<td class="col3" ><select [(ngModel)]="sel" (change)="onChangeScore(sel)">
<option *ngFor= "let s of items" >{{s}}</option></select></td>
</tr>
您正在迭代 X 个元素,但您对每个 par
使用相同的变量 sel
。我建议您将选择分配给 par
,这样您就可以轻松地从 Course
数组中获取它。为此,请替换为:
<select [(ngModel)]="sel" (change)="onChangeScore(sel)">
对此:
<select [(ngModel)]="par.sel" (change)="onChangeScore(par.sel)">
然后在您的 ts 文件中,您可以通过以下方式轻松访问它:
onChangeScore(selection) {
console.log(selection);
}
很高兴我能提供帮助