所以我在这里做的是,我的子组件(RMSBaseComponent.rarzor(中有一个进度条,它被条件变量"IsLoading"包围
<div style="padding:20px">
@* Page Title *@
<h3>@PageTitle</h3>
<MatDivider></MatDivider>
@* Loader *@
@if (IsLoading)
{
<MatProgressBar Indeterminate="true"></MatProgressBar>
}
</div>
我正在制作这个家长中的孩子(AddNewCity.rarzor(作为
<RMSBaseComponent PageTitle="Add New City" @ref="BaseComponent">
</RMSBaseComponent>
在这里,我在"BaseComponent"变量中获得了子级的引用,但当我从父组件类(AddNewCity.cs(更改"IsLoading"的值时,它不会更新UI,也不会显示"MatProgressBar"UI。我正在将值更改为以下
public partial class AddNewCity
{
private RMSBaseComponent BaseComponent { get; set; }
protected override void OnAfterRender(bool firstRender)
{
base.OnAfterRender(firstRender);
Thread.Sleep(3000);
BaseComponent.IsLoading = true;
}
}
任何帮助都会得到通知。
谢谢
您应该在Thread.Sleep()
之后调用StateHasChanged()
public partial class AddNewCity
{
private RMSBaseComponent BaseComponent { get; set; }
protected override void OnAfterRender(bool firstRender)
{
base.OnAfterRender(firstRender);
Thread.Sleep(3000);
BaseComponent.IsLoading = true;
StateHasChanged();
}
}