Данные возвращаются к значениям по умолчанию, когда вызывается событие, которое их изменяет.
У меня есть компонент blazor, который отображает некоторые данные и фильтрует эти данные на основе некоторых нажатий кнопок.
Эти кнопки представляют определенную дату, и при нажатии на них компонент диапазона дат Syncfusion заполняется и обновляется датами за этими кнопками.
Проблема в том, что когда я нажимаю эти кнопки, дата в этом компоненте диапазона дат изменяется, но сразу же возвращается к дате по умолчанию, например:
Это код нажатия кнопки:
private async Task FilterByDate(MouseEventArgs e, DateTimeOffset? startDate)
{
SetDateRange(startDate);
await OnFilterButtonClicked.InvokeAsync((this.StartDate, this.EndDate));
await GetData(); //gets the data that populates other parts of the page based on the changed date
}
private void SetDateRange(DateTimeOffset? startDate)
{
this.StartDate = startDate.HasValue ? startDate.Value.Date : this.MinStartDate;
this.EndDate = DateTimeOffset.Now.Date;
}
private async Task GetData()
{
Data = await this.httpClient.GetAsync($"myendpoint/api?startDate={StartDate}&endDate={EndDate}");
}
Это компонент бритвы, который отображает кнопку и элемент управления диапазоном дат.
<DateRangePicker StartDate="StartDate" EndDate="EndDate" />
<button type="button" @onclick="@(e => FilterByDate(e, today.StartOfDay()))" class="btn btn-brand">Today</button>
когда я получуGetData()
выкл, проблема решена.
Что именно происходит и как решить эту проблему?