微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为作为 Blazor 中 onchange 事件源的输入设置值

如何解决为作为 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";
    }
}

出于某种原因,input显示一次“100”,即使每次触发 tester 时都会设置属性 OnChangeHandlerinput 保留用户输入的值,忽略 tester 第二次和第三次出现时 onchange 设置为“100”这一事实。如何让输入始终包含tester的实际值?

解决方法

一个快速肮脏的解决方法是这样的:

  public async Task OnChangeHandler(ChangeEventArgs obj)
    {
        tester =null;
        await Task.Delay(1); 
        tester = "100";
    }

在 dotnet6 的预览版 5 中计划修复不好

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。