5、Blazor Webassembly数据更新

今天测试一段代码如下:点击测试后,调用远程API,动态更新valuedata的值。

<h1 @onclick="Test">测试</h1>

……

<span>@valuedata</span>

@code{

         public string valuedata { get; set; }

         private async void Test()

         {

               string value = await APITest();

                valuedata = "ok:" + value;

        }

}

但是结果是,第一次点击时无法更新,总是再第二次点击时才达到预期。

问题原因:异步处理数据,数据未及时更新。

解决办法:修改异步处理函数,在末尾增加StateHasChanged();

   private async void Test()

    {

        string value = await APITest();

        valuedata = "ok:" + value;

        StateHasChanged();

    }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容