Данные возвращаются к значениям по умолчанию, когда вызывается событие, которое их изменяет.

У меня есть компонент 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()выкл, проблема решена.

Что именно происходит и как решить эту проблему?

0 ответов

Другие вопросы по тегам