Панель выбора элемента выбора даты Antdesign Blazor не отображается на основе значения элемента выбора даты

#datepicker #default-value #ant-design-blazor

Вопрос:

В настоящее время я работаю на стороне сервера Blazor. У меня есть проблемы с тем, что при выборе Эффективного года до 2022 года значение даты начала и даты окончания может измениться на 2022-04-19, но когда я открываю выбор выбора даты, он показывает апрель 2021 года. выбор выбора даты СРАБАТЫВАЕТ, когда я выбираю любой день из выбора, а затем снова меняю год. Это странно, кто-нибудь знает почему? вот мой … блейзор

 @inherits AppComponentBase
<Modal @ref="ModalRef" Title="@Title" Visible="Visible" Draggable="true"
   OkText="@OK" OnOk="OkButtonOnClick" OnCancel="CancelButtonOnClick"
   MaskClosable="false" Keyboard="false" Width="800">

<Form @ref="FormRef" Model="@InputModel"
      Loading="Loading" ValidateOnChange="true"
      OnFinish="OnFinish" OnFinishFailed="OnFinishFailed"
      LabelColSpan="6" WrapperColSpan="18">

    <Validator>
        <FluentValidationValidator />
    </Validator>

    <ChildContent>
        <FormItem Label="Effective Year" Required>
            <Select @bind-Value="@context.EffectiveYear"
                    DefaultValue="@DefaultEffectiveYear"
                    TItemValue="int"
                    TItem="int"
                    OnSelectedItemChanged="SelectedItemChangedHandler"
                    Style="width: 200px;">
                <SelectOptions>
                    @foreach (var item in EffectiveYearsDropdown)
                    {
                        <SelectOption TItemValue="int" TItem="int"
                                      Value=@item Label=@item.ToString() />
                    }
                </SelectOptions>
            </Select>
        </FormItem>
        <FormItem Class="input-uppercase" Label="Duration" Required>
            <AntDesign.InputNumber @bind-Value="@context.Duration"
                                   TValue="int"
                                   Max="99"
                                   Style="width: 200px;">
            </AntDesign.InputNumber>
        </FormItem>
        <FormItem Class="input-uppercase" Label="Start Date" Required>
            <AntDesign.Col Span="8">
                <DatePicker @bind-Value="@context.StartDate"
                            Picker="@DatePickerType.Date"
                            DefaultValue="@context.StartDate"
                            Format="@Constants.DATE_FORMAT"
                            Style="width: 200px;" />
            </AntDesign.Col>
        </FormItem>
        <FormItem Class="input-uppercase" Label="End Date" Required>
            <AntDesign.Col Span="8">
                <DatePicker @bind-Value="@context.EndDate"
                            Picker="@DatePickerType.Date"
                            DefaultValue="@context.StartDate"
                            Format="@Constants.DATE_FORMAT"
                            Style="width: 200px;" />
            </AntDesign.Col>
        </FormItem>
        <FormItem Class="input-uppercase" Label="Remarks" Required>
            <Input @bind-Value="@context.Remarks" MaxLength="60" />
        </FormItem>
    </ChildContent>
</Form>
 

вот мой .blazor.cs

     protected override void OnInitialized()
    {
        for (int i = DefaultEffectiveYear; i <= DefaultEffectiveYear   Constants.DROPDOWN_YEARS; i  )
        {
            EffectiveYearsDropdown.Add(i);
        }
    }

    private void SelectedItemChangedHandler(int year)
    {
        if (year != DateTime.Now.Year)
        {
           //var newDate = new DateTime(year, 1, 1);
            var newDate = new DateTime(year, DateTime.Now.Month, DateTime.Now.Day);
            InputModel.StartDate = newDate;
            InputModel.EndDate = newDate;
            //DefaultStartDate = newDate;
        }
        else
        {
            InputModel.StartDate = DateTime.Now;
            InputModel.EndDate = DateTime.Now;
        }

        StateHasChanged();
    }
 

форма ввода