From dda8709ca7534ce57af37598ae1f061e90f943e7 Mon Sep 17 00:00:00 2001 From: anranruye Date: Sun, 9 May 2021 09:03:56 +0800 Subject: [PATCH 1/2] fix(module:datepicker): fix multiple CultureInfo properties --- components/core/Base/AntInputComponentBase.cs | 2 +- components/date-picker/internal/DatePickerBase.cs | 14 +++++--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/components/core/Base/AntInputComponentBase.cs b/components/core/Base/AntInputComponentBase.cs index 43064e7e9f..1211f21576 100644 --- a/components/core/Base/AntInputComponentBase.cs +++ b/components/core/Base/AntInputComponentBase.cs @@ -94,7 +94,7 @@ public virtual TValue Value public string Size { get; set; } = AntSizeLDSType.Default; [Parameter] - public CultureInfo CultureInfo { get; set; } = CultureInfo.CurrentCulture; + public virtual CultureInfo CultureInfo { get; set; } = CultureInfo.CurrentCulture; /// /// Gets the associated . diff --git a/components/date-picker/internal/DatePickerBase.cs b/components/date-picker/internal/DatePickerBase.cs index f7d87aa362..cc94063d9a 100644 --- a/components/date-picker/internal/DatePickerBase.cs +++ b/components/date-picker/internal/DatePickerBase.cs @@ -96,13 +96,14 @@ public DatePickerLocale Locale } [Parameter] - public CultureInfo CultureInfo + public override CultureInfo CultureInfo { - get { return _cultureInfo; } + get { return base.CultureInfo; } set { - _cultureInfo = value; - _isCultureSetOutside = true; + base.CultureInfo = value; + if (!_isLocaleSetOutside) + _locale = LocaleProvider.GetLocale(base.CultureInfo.Name).DatePicker; } } @@ -240,9 +241,7 @@ protected DatePickerStatus[] _pickerStatus protected bool _isClose = true; protected bool _needRefresh; protected bool _duringManualInput; - private bool _isCultureSetOutside; private bool _isLocaleSetOutside; - private CultureInfo _cultureInfo = LocaleProvider.CurrentLocale.CurrentCulture; private DatePickerLocale _locale = LocaleProvider.CurrentLocale.DatePicker; protected bool _openingOverlay; @@ -405,9 +404,6 @@ protected virtual async Task OnBlur(int index) protected void InitPicker(string picker) { - if (_isCultureSetOutside && !_isLocaleSetOutside) - Locale = LocaleProvider.GetLocale(_cultureInfo.Name).DatePicker; - if (string.IsNullOrEmpty(_pickerStatus[0]._initPicker)) { _pickerStatus[0]._initPicker = picker; From dc104c2107329415a85d260d1aa2999cd51283ab Mon Sep 17 00:00:00 2001 From: anranruye <54608128+anranruye@users.noreply.github.com> Date: Mon, 10 May 2021 08:03:00 +0800 Subject: [PATCH 2/2] fix(module:datepicker): fix multiple CultureInfo properties --- components/date-picker/internal/DatePickerBase.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/components/date-picker/internal/DatePickerBase.cs b/components/date-picker/internal/DatePickerBase.cs index cc94063d9a..c2e4b3dffa 100644 --- a/components/date-picker/internal/DatePickerBase.cs +++ b/components/date-picker/internal/DatePickerBase.cs @@ -98,12 +98,17 @@ public DatePickerLocale Locale [Parameter] public override CultureInfo CultureInfo { - get { return base.CultureInfo; } + get + { + return base.CultureInfo; + } set { + if (!_isLocaleSetOutside && base.CultureInfo != value && base.CultureInfo.Name != value.Name) + { + _locale = LocaleProvider.GetLocale(value.Name).DatePicker; + } base.CultureInfo = value; - if (!_isLocaleSetOutside) - _locale = LocaleProvider.GetLocale(base.CultureInfo.Name).DatePicker; } }