我使用MudBlazor
,我在Blazor Webassembly页面(最小的例子)中有以下代码:
<MudDatePicker @bind-Date="@_chosenDate" />
@* Display data based on date above, here it is just an integer *@
@code {
private DateTime? _chosenDate = DateTime.Now.Date;
private int data = 0;
private async Task FetchData()
{
await FetchDataFromApi(_chosenDate);
}
}
注意,默认选择的日期被设置为今天的日期。显然,MudDatePicker
只能绑定到一个可为空的DateTime
,所以这就是为什么我将其设置为DateTime?
。
问题:当日期更改时,我如何根据新选择的值从API获取数据?我不知道怎样做才合适。
您可以订阅DateChanged
事件并处理它:
<MudDatePicker Date="@_chosenDate" DateChanged="OnDateChange" /> // Date instead of @bind-Date
@code {
private DateTime? _chosenDate = DateTime.Now.Date;
private int data = 0;
private async Task FetchData()
{
await FetchDataFromApi(_chosenDate);
}
async void OnDateChange(DateTime? newDate)
{
_chosenDate = newDate;
await FetchData();
}
}