【发布时间】:2024-01-07 20:00:01
【问题描述】:
我想问一下:
在 Blazor 中,如何将事件目标(或 this)传递给我的 JavaScript?
问题是我正在使用@foreach 创建输入,因此可以有很多输入。
这是它的样子:
@foreach (Item in ItemsList)
{
<input
@onchange="ChangeColor"
value="@Item.Value">
}
我想简单的onchange触发这个功能:
@code
{
async Task ChangeColor()
{
await JsRuntime.InvokeVoidAsync("changeColor");
}
}
并最终读取我的 JS 中的值:
function changeColor (el) {
console.log(el);
}
我尝试使用@ref,但是我想访问触发该函数的输入。由于可能有很多人,我不想使用@ref 对每个人进行硬编码。
【问题讨论】:
-
console.log(el)应该显示什么? -
@Vencovsky 我希望得到 DOM elemenet
-
您说“我尝试使用@ref,但是我想访问触发该功能的输入。由于其中可能有很多,我不想使用硬编码它@ref 给他们每个人”,但我认为出了点问题,我只是添加了一个答案,试图解释原因,并使其代码能够正常工作。但是如果你想
console.log(el)返回de DOM元素,你需要使用@ref。
标签: javascript blazor blazor-client-side