如何解决如何让 React Calendar Range 在第一次呈现时不选择当前日期
我正在使用 React 日历 https://www.npmjs.com/package/react-calendar,我想通过单击开始日期和结束日期来选择一个天数范围。我在 Calendar 中使用了 selectRange 道具,但是第一次 Calendar 呈现时,甚至没有点击任何东西,范围选择器将自动将开始日期作为今天的日期。我不想这样。我想以干净的状态加载日历,然后当我开始单击这将是开始日期时,然后我可以单击结束日期的下一个元素。我怎样才能做到这一点?
这是我的代码:
export default function TestCalendar() {
const [value,onChange] = useState(new Date())
return(
<>
<Calendar selectRange={true} onChange={onChange}
value={value} minDate={new Date()} minDetail={"year"} navigationAriaLabel={"Go up"} activeStartDate={null}/>
{value[0] != null && <><div>{value[0].toString()}</div><div>{value[1].toString()}</div></>}
</>
)
}
这是我不想要的功能示例(加载时它会自动选择今天的日期(6 月 5 日),然后我开始悬停以单击结束日期): https://i.gyazo.com/91ec726a453c2b138f9c1b0aae09e1a6.mp4
解决方法
好吧,我想出了答案。我正在复制入门代码,但我不知道 value 道具也设置了 Beginning 值。如果我从
问题是您将 value
初始化为今天 (new Date()
) 并分配给 Calendar
的 value
道具。我建议您使用 defaultValue
(以不受控制的方式使用 react-calendar)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。