«@ref» относится к текущему элементу, который является правильным.
«@ ref» относится к последнему элементу в команде цикла, который является неправильным (в моем примере, последний элемент 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>