asp.net-core - 设置 Blazor 中 onchange 事件源的输入值
问题描述
在 Blazor Server App / .NET 6 preview 4(与 .NET 5 相同)中,我想处理 onchange 事件,并在某些情况下通过为文本框设置某个值来关闭用户输入。演示有一个基本代码:
<input value="@tester" @onchange="@OnChangeHandler" />
@code {
public string tester { get; set; }
public void OnChangeHandler(ChangeEventArgs obj)
{
tester = "100";
}
}
出于某种原因,即使每次触发时都设置了属性,输入也仅显示一次“100”。input保留用户输入的值,忽略第二次和第三次发生时设置为“100”的事实。如何使输入始终包含实际值?tester
OnChangeHandler
tester
onchange
tester
解决方案
一个快速肮脏的解决方法是这样的:
public async Task OnChangeHandler(ChangeEventArgs obj)
{
tester =null;
await Task.Delay(1);
tester = "100";
}
在 dotnet6 的预览版 5 中计划进行修复并不好
推荐阅读
- java - 从文档中计算一天中不同的小时数
- apache - 子目录中特定文件类型的 Apache 代理/重写设置
- mysql - 根据另一列中的最小值更新重复记录
- mysql - MYSQL:带有详细信息和未读消息计数的朋友列表
- php - Codeigniter 在用户 Apache 下写入/创建文件夹
- matlab - 如果变量取决于优化变量,如何编写优化程序?
- android - 错误:未知平台:“OSX”。请使用 DeveloperTools 提交 ContactUs
- sql-server - 有没有办法将 select 子句与 where 子句应用条件从另一个 select 子句驱动?
- clevertap - CleverTap API 在 Postman 上运行时显示 512 错误
- kotlin - Kotlin:在 lambda 中命名参数