且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何在Blazor中单击后立即禁用/隐藏按钮?

更新时间:2022-12-23 14:26:12

您可能会遇到以下两个问题之一,或同时出现以下两个问题:

You likely have one of two problems or both:

  1. 延迟是一个问题.确保在启用了Web套接字的情况下托管应用程序.该设置取决于主机,例如:Azure App Server在设置下具有用于Web套接字的简单on/off旋钮.请参阅此博客文章的最后一步 http://blazorhelpwebsite.com/Blog/tabid/61/EntryId/4349/Deploying-A-Server-Side-Blazor-Application-To-Azure.aspx
  2. 您的任务很长.

对于长期运行的任务,您可以尝试以下解决方案.我没有测试过,里程可能会有所不同.

For a long running task you can try the following solution. I have not tested it, mileage may vary.

<button disabled=@IsTaskRunning @onclick="DispatchTask">Submit</button>

@code {

    bool IsTaskRunning = false;

    async void DispatchTask()
    {
        IsTaskRunning = true;

        await DoLongWork();

        IsTaskRunning = false;
        StateHasChanged();
    }

    Task DoLongWork()
    {
        return Task.Delay(6000);
    }

}