Hello,
I have following code:
@page "/Factuur/Factuur"
@inject HttpClient Http
<h3>Factuur</h3>
<div class="container-fluid">
<div class="row control_wrapper">
<div class="col-sm-1">
<SfDropDownList TItem="Select" TValue="Select" @bind-Value="@Jaar" DataSource="@Jaren" EnableVirtualization="true">
@*<SfDataManager Url="api/Factuur/JaarGet" Adaptor="Syncfusion.Blazor.Adaptors.WebApiAdaptor" CrossDomain=true></SfDataManager>*@
<DropDownListEvents TItem="Select" TValue="Select" ValueChange="JaarChange"></DropDownListEvents>
<DropDownListFieldSettings Text="Text" Value="ID"></DropDownListFieldSettings>
</SfDropDownList>
</div>
<div class="col-sm-1">
<SfDropDownList TItem="Select" TValue="Select" @bind-Value="@Maand" DataSource="@Maanden">
<DropDownListFieldSettings Text="Text" Value="ID"></DropDownListFieldSettings>
</SfDropDownList>
</div>
</div>
</div>
<SfGrid DataSource="Facturen">
</SfGrid>
@code {
private List<Factuur> Facturen { get; set; }
private List<Select> Jaren { get; set; }
private List<Select> Maanden { get; set; }
private Select Jaar { get; set; }
private Select Maand { get; set; }
protected override async Task OnInitializedAsync()
{
Jaren = await Http.GetFromJsonAsync<List<Select>>("api/Factuur/JaarGet");
Jaar = Jaren.FirstOrDefault();
await MaandGet(Jaar.ID);
}
private async Task MaandGet(string jaarID)
{
Maanden = await Http.GetFromJsonAsync<List<Select>>("api/Factuur/MaandGet?jaarId=" + jaarID);
Maand = Maanden.FirstOrDefault();
}
private async Task JaarChange(ChangeEventArgs<Select, Select> args)
{
Jaar = args.ItemData;
await MaandGet(Jaar.ID);
}
}
I have 2 ddls with values. I get those values from my api controller so i need to call it with an async function. Because i need to call it with an async function i need to make the change function async aswell. And beceause the change function is async, my first ddl freezes 2-3 seconds before closing.
Is there a solution for this problem? Or do you have a workaround?