我的代码如下,但是当我点击<tr>
元素时传递的索引参数总是9。
这是因为在传递给组件作为数据的表中有9行。看起来索引始终是变量“i”的值,而这个值是在最后设置的...... 在这种情况下,在foreach循环中的最后一行之后i的值为9,所以我在点击表中所有行时都会得到索引参数9...
我的代码有什么问题没有为每一行点击设置 值?
<table border="1">
@for(int i=0;i< ListData.DataView.Table.Rows.Count; i++)
{
<tr @onclick="(() => RowSelect(i))">
@foreach (ModelColumn col in ListData.ListColumns)
{
<td>@ListData.DataView.Table.Rows[i][col.Name]</td>
}
</tr>
}
</table>
@code {
private async Task RowSelect(int rowIndex)
{
await ListRowSelected.InvokeAsync(rowIndex);
}
}
i
传递给 lambda 函数之前,您需要对其进行缓冲。 - Second Person Shooter