blazor - 如何在 Blazor 中获取 HTML 属性的值?
问题描述
我刚开始使用 Blazor,我不想获取 HTML 属性的值并将其作为参数传递给方法(我在 @onchange 事件中调用该方法)。我怎样才能做到这一点?或者甚至有可能吗?
<input type="checkbox" id="foo" @onchange="(MyMethod())"></input>
编辑
我得到了这段代码:@foreach ((int key, string value) in myDictionary) { <input type="checkbox" id="@key" @onchange="MyMethod()" /> }
我不想将选中复选框的所有 id 添加到列表中。这发生在“MyMethod”中,但要做到这一点,我必须以某种方式将复选框的 id 作为参数传递给该方法
解决方案
如果您通过MyMethod()
(带有双亲)您正在调用该函数,则您需要在没有它的情况下通过,以便您通过引用。
<input type="checkbox" id="foo" @onchange="MyMethod"></input>
编辑
您应该传递一个调用您的方法的数组函数,这样您就不会在每次渲染时调用它,而是仅在onchange
触发事件时调用它。
@foreach ((int key, string value) in myDictionary)
{
<input type="checkbox" id="@key" @onchange="(() => MyMethod(key))" />
}
推荐阅读
- python - 如何在python中制作查找和替换系统
- sql - 3种方式的复杂案例
- cordova - 在科尔多瓦钩子上执行 gulp4 任务
- r - 在 RShiny 中将对象分配给 .GlobalEnv
- pandas - 从整个数据框中删除特定的字符串值而不指定列或行
- python - 通过 Python 用数字标记泰勒图
- sql - SQL中的数据透视表具有多列
- excel - 有没有办法根据 Power Query 中的条件从另一列应用最小日期和相关值?
- binary - 邮递员中的二进制体
- typescript - 插件打字稿:@rollup/plugin-typescript TS2307:找不到模块“./App.svelte”或其相应的类型声明