隐藏

Blazor Webassembly数据更新

发布:2022/2/8 9:38:00作者:管理员 来源:本站 浏览次数:1172

今天测试一段代码如下:点击测试后,调用远程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();


       }