gpt4 book ai didi

blazor - 参数更改时调用方法

转载 作者:行者123 更新时间:2023-12-01 23:04:56 25 4
gpt4 key购买 nike

我有一个组件使用参数从 WebAPI 获取要显示的数据。参数来自父组件,当参数值改变时我需要刷新数据。

@if (somedata != null)
{
<span>@somedata.FirstOrDefault()?.SomeValue</span>
}
@code {
[Parameter]
public int SelectedLine
{
get => selectedLine;
set
{
if (selectedLine != value)
{
selectedLine = value;
UpdateAsync();
}
}
}
private int selectedLine;
private List<SomeData> somedata;

protected override async Task OnInitializedAsync()
{
await UpdateAsync();
}
private async Task UpdateAsync()
{
somedata = await SomeRepo.GetAsync(SelectedLine);
}
}

代码运行良好,但我收到警告(“因为不等待此调用,因此在调用完成之前继续执行当前方法”),我认为这不是一个非常优雅的决定。怎样才能做到正确呢?

最佳答案

您可以使用 OnParametersSetAsync() 正确等待获取数据。

然后该属性就不再需要 setter 了。

[Parameter]
public int SelectedLine { get; set; }

protected override async Task OnParametersSetAsync()
{
await UpdateAsync();
}

关于blazor - 参数更改时调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58932450/

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