我在我的应用程序中使用了react-nice-calendar。问题是日历中的年份丢失了,如图所示。我该如何解决这个问题呢?代码:
const [date, setDate] = useState(); <DatePickerCalendar date={date} onDateChange={setDate} locale={enGB} />
jum4pzuy1#
如果你想显示年份,你必须用date-fns dependencie来格式化日期,所以我举了一个例子:https://reactnicedates.hernansartorio.com/
import React, { useState } from 'react' import { format } from 'date-fns' import { enGB } from 'date-fns/locale' import { DatePickerCalendar } from 'react-nice-dates' import 'react-nice-dates/build/style.css' function DatePickerCalendarExample() { const [date, setDate] = useState() return ( <div> <p> Selected date: {date ? format(date, 'dd MMM yyyy', { locale: enGB }) : 'none'}. </p> <DatePickerCalendar date={date} onDateChange={setDate} locale={enGB} /> </div> ) }
这里有一个codesandbox:https://codesandbox.io/s/datepicker-default-example-0kn7i如果您在当前年份,则不会显示:二零二一年(本年度):
2023年:
yptwkmov2#
react-nice-calendar不显示当前年份。我也遇到过同样的问题,并找到了一个优雅的解决方案。可以在上层导航中使用CSS隐藏月份,然后添加自己的月份。1.隐藏内置月份:
.nice-dates-navigation_current { display: none; }
1.添加您自己的月份和年份,并使用适当的格式和样式
<p className="calendar__current-date"> {selectedDate.month} </p> <Calendar locale={enGB} month={selectedDate.date} onMonthChange={handleMonthChange} />
1.最后管理Calendar的状态
Calendar
import { format } from 'date-fns' ... const [selectedDate, setSelectedDate] = useState<{ date: Date month: string }>({ date: new Date(), month: format(new Date(), 'MMMM yyyy', { locale: enGB }) }) ... const handleMonthChange = (date: any) => setSelectedDate({ date, month: format(date, 'MMMM yyyy', { locale: enGB }) })
2条答案
按热度按时间jum4pzuy1#
如果你想显示年份,你必须用date-fns dependencie来格式化日期,所以我举了一个例子:https://reactnicedates.hernansartorio.com/
这里有一个codesandbox:https://codesandbox.io/s/datepicker-default-example-0kn7i
如果您在当前年份,则不会显示:
二零二一年(本年度):
2023年:
yptwkmov2#
react-nice-calendar不显示当前年份。我也遇到过同样的问题,并找到了一个优雅的解决方案。可以在上层导航中使用CSS隐藏月份,然后添加自己的月份。
1.隐藏内置月份:
1.添加您自己的月份和年份,并使用适当的格式和样式
1.最后管理
Calendar
的状态