gpt4 book ai didi

javascript - React-Admin DateField、DateInput 语言环境全局

转载 作者:行者123 更新时间:2023-12-02 20:56:17 24 4
gpt4 key购买 nike

React admin 允许您在使用 DateFieldDateInput 时在组件中设置日期区域设置。

<DateField source="publication_date" locales="fr-FR" />
// renders the record { id: 1234, publication_date: new Date('2017-04-23') } as
<span>23/04/2017</span>

但大多数时候我们不需要在组件上设置它,而是需要全局配置它。有没有办法全局设置?

我尝试设置 i18n 提供程序的默认 locale,但看起来它仅考虑翻译,而不考虑日期格式。

我还尝试覆盖 Date.toLocaleDateString() 但效果不佳。

最佳答案

您可以使用useLocale钩子(Hook),它返回react-admin的i18nProvider当前区域设置,默认为'en'

https://marmelab.com/react-admin/Translation.html#uselocale-getting-the-current-locale

假设这是一个显示 View :

import { useLocale } from 'react-admin'

export const ResourceShow = props => {

const locale = useLocale()

return (
<Show {...props}>
<SimpleShowLayout>
<DateField source="publication_date" locales={locale} />
</SimpleShowLayout>
</Show>
)
}

如果你真的想覆盖 Date.toLocaleDateString(不推荐),你可以这样做:

Date.prototype.toLocaleDateString = customFunc

顺便说一句,我同意默认情况下应该考虑使用 i18nProvider 语言环境的 DateField。

关于javascript - React-Admin DateField、DateInput 语言环境全局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61476299/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com