/// <summary> /// OnInitialized /// </summary> protected override void OnInitialized() { base.OnInitialized(); StartValue = Value.Start; EndValue = Value.End; if (StartValue == DateTime.MinValue) { StartValue = DateTime.Now; } if (EndValue == DateTime.MinValue) { EndValue = StartValue.AddMonths(1); } StartPlaceHolderText ??= Localizer[nameof(StartPlaceHolderText)]; EndPlaceHolderText ??= Localizer[nameof(EndPlaceHolderText)]; SeparateText ??= Localizer[nameof(SeparateText)]; ClearButtonText ??= Localizer[nameof(ClearButtonText)]; ConfirmButtonText ??= Localizer[nameof(ConfirmButtonText)]; DateFormat ??= Localizer[nameof(DateFormat)]; }
/// <summary> /// 点击 确认时调用此方法 /// </summary> private async Task ClickTodayButton() { SelectedValue.Start = DateTime.Today; SelectedValue.End = DateTime.Today; StartValue = DateTime.Today; EndValue = StartValue.AddMonths(1); await ClickConfirmButton(); }
private async Task OnClickSidebarItem(DateTimeRangeSidebarItem item) { SelectedValue.Start = item.StartDateTime; SelectedValue.End = item.EndDateTime; StartValue = item.StartDateTime; EndValue = StartValue.AddMonths(1); await ClickConfirmButton(); }
/// <summary> /// OnParametersSet 方法 /// </summary> protected override void OnParametersSet() { base.OnParametersSet(); Value ??= new DateTimeRangeValue(); StartValue = Value.Start; EndValue = Value.End; if (StartValue == DateTime.MinValue) { StartValue = DateTime.Now; } if (EndValue == DateTime.MinValue) { EndValue = StartValue.AddMonths(1); } SelectedValue.Start = StartValue; SelectedValue.End = EndValue; StartPlaceHolderText ??= Localizer[nameof(StartPlaceHolderText)]; EndPlaceHolderText ??= Localizer[nameof(EndPlaceHolderText)]; SeparateText ??= Localizer[nameof(SeparateText)]; ClearButtonText ??= Localizer[nameof(ClearButtonText)]; ConfirmButtonText ??= Localizer[nameof(ConfirmButtonText)]; TodayButtonText ??= Localizer[nameof(TodayButtonText)]; DateFormat ??= Localizer[nameof(DateFormat)]; if (StartValue.ToString("yyyy-MM") == EndValue.ToString("yyyy-MM")) { StartValue = StartValue.AddMonths(-1); } if (SidebarItems == null) { SidebarItems = new DateTimeRangeSidebarItem[] { new DateTimeRangeSidebarItem { Text = Localizer["Last7Days"], StartDateTime = DateTime.Today.AddDays(-7), EndDateTime = DateTime.Today }, new DateTimeRangeSidebarItem { Text = Localizer["Last30Days"], StartDateTime = DateTime.Today.AddDays(-30), EndDateTime = DateTime.Today }, new DateTimeRangeSidebarItem { Text = Localizer["ThisMonth"], StartDateTime = DateTime.Today.AddDays(1 - DateTime.Today.Day), EndDateTime = DateTime.Today.AddDays(1 - DateTime.Today.Day).AddMonths(1).AddDays(-1) }, new DateTimeRangeSidebarItem { Text = Localizer["LastMonth"], StartDateTime = DateTime.Today.AddDays(1 - DateTime.Today.Day).AddMonths(-1), EndDateTime = DateTime.Today.AddDays(1 - DateTime.Today.Day).AddDays(-1) }, }; } }
/// <summary> /// 点击 清除按钮调用此方法 /// </summary> /// <returns></returns> private async Task ClickClearButton() { Value = new DateTimeRangeValue(); if (ValueChanged.HasDelegate) { await ValueChanged.InvokeAsync(Value); } if (OnClearValue != null) { await OnClearValue(Value); } StartValue = DateTime.Today; EndValue = StartValue.AddMonths(1); SelectedValue.Start = DateTime.MinValue; SelectedValue.End = DateTime.MinValue; }
/// <summary> /// 更新年时间方法 /// </summary> /// <param name="d"></param> internal void UpdateStart(DateTime d) { StartValue = StartValue.AddYears(d.Year - StartValue.Year).AddMonths(d.Month - StartValue.Month); EndValue = StartValue.AddMonths(1); StateHasChanged(); }