gpt4 book ai didi

c# - Blazor 中的 OnInitializedAsync()

转载 作者:行者123 更新时间:2023-11-30 16:37:25 40 4
gpt4 key购买 nike

我在代码中使用了 OnInitializedAsync()。在那个钩子(Hook)中,我正在获取数据。在标记中,我检查了数据是否为空。但是我发现数据检查是在 onInitalizedAsync() 触发之前执行的。同时,也得到数据后,执行数据校验。

我已经检查了 blazor 文档,但很难找到它最初触发的原因。

<Component1>
@if (Data != null)
{
@foreach (var item in Data) {
<Component2>
}
}
</Componet1>

@code{
protected override async Task OnInitializedAsync() {
Data = //data from dataBase
}
}

我只需要在数据获取后执行数据检查。谁能指导我解决这个问题?

最佳答案

我建议检查空数据。相反,只需渲染数据变量并在数据加载到 OnInitializedAsync() 后调用 StateHasChanged()。关键是让框架知道正在使用变量数据,因此当调用 StateHasChanged() 时,它会适本地呈现数据。

<h3> @Data </h3>

@code {
private string Data = "";

protected override async Task OnInitializedAsync()
{
Data = await Service.GetDataAsync();
StateHasChanged();
}
}

关于c# - Blazor 中的 OnInitializedAsync(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58371328/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com