“@ref”指的是正确的当前元素。
“@ref”指的是循环命令中不正确的最后一个元素(在我的示例中,是 table 元素的最后一个 tr 元素)。
我希望“@ref”单独引用每个元素(在我的示例中,表元素的每个 tr 元素)而不是最后一个元素。
@inject IJSRuntime JsRuntime;
<table class="table">
<tbody>
@foreach (var item in Items)
{
<tr @ref="@row" @onclick="() => {Rowclick(row);}">
<td>@item</td>
</tr>
}
</tbody>
</table>
@code
{
public string[] Items = new string[] { "Tomas", "Jack", "Michael" };
public async void Rowclick(ElementReference row)
{
await JsRuntime.InvokeAsync<object>("updateBackgroundColor", row);
}
}
//--------------------------
<script type="text/javascript">
function updateBackgroundColor(row) {
row.bgColor = 'red';
}
</script>