0

Fabric/Fluent UI Datepicker 日历数字日期与一周中的实际天数不一致。截图演示:

img_datePicker

^ 可以看出,突出显示的今天日期标记为 2020 年 9 月 17 日,在日历的星期五列下,但这显然是错误的,因为 2020 年 9 月 17 日是星期四

我认为这可能是由于实际Date()对象中的错误,但这没有意义,因为这只会导致日期错误,日历数字日期与星期几的对齐永远不应该像这样错位,因为无论如何这都是错误的。无论Date()您在 Datepicker 中输入什么对象,2020 年 9 月 17 日始终是星期四,而不是星期五。

这是 Fabric/Fluent UI Datepicker 的错误吗?有没有其他人得到这种行为,或者我可能忽略了什么?

提前谢谢了。

4

1 回答 1

0

解决了

问题是 Fluent UI 以特定顺序接受 shortDay 字符串:

shortDays: ['S', 'M', 'T', 'W', 'T', 'F', 'S']

(参见文档:https ://developer.microsoft.com/en-us/fluentui#/controls/web/datepicker )

但是因为在我的应用程序中我需要针对不同的语言环境进行本地化,所以我使用 Luxon 来生成日期字符串,如下所示:

import { Info } from 'luxon';

shortDays: Info.weekdays('narrow', {locale: i18n.locale})

..输出为

shortDays: ['M', 'T', 'W', 'T', 'F', 'S', 'S']

...这会导致字符串移动 X_X(Fluent UI Datepicker 将“M”读取为星期日,将“T”读取为星期一,等等...)

因此,为了解决这个问题,我在返回 HTML 之前将这一行放到了我的渲染方法中:

this.DayPickerStrings.shortDays.unshift(this.DayPickerStrings.shortDays.pop());

(是的,我知道,React 中的类组件已经过时了,但我最初并没有编写此代码,我只是继承它)

于 2020-09-18T02:09:48.067 回答