【发布时间】:2020-05-31 05:27:21
【问题描述】:
我正在使用包 react-calendar 我将对其进行自定义以仅选择月份,例如 2020-02 或 2020-05 ,...以及 它应该首先隐藏并在我单击按钮(图标)时显示。所以我写了一个组件来切换它,命名为 Dropdown ,另外我设置了日历的视图属性以显示一年中的月份,当我点击一个月时,隐藏状态会改变,下拉菜单将关闭并选择一个月。
但是问题是当我想再次单击按钮选择另一个月份时,日历从天而不是月视图开始,因为在选择月份后它会选择天。实际上它需要重新渲染或重新设置“年份”到它的视图道具。
有没有办法在状态改变时重新渲染日历组件。
导入部分:
import ReactCalendar from "react-calendar";
状态部分:
const [hide, sethide] = useState(false);
返回部分:
<Dropdown
forceHide={hide}
onChangeShow={() => sethide(false)}
toggle={
<Icon name="calendar" size={32} />
}
>
<ReactCalendar
view={'year'}
onClickMonth={value => {
console.log("value", value);
sethide(true);
}}
/>
</Dropdown>
感谢任何帮助。
【问题讨论】:
-
这能回答你的问题吗? stackoverflow.com/questions/46240647/…
-
我之前读过这个,也读过reactjs.org/docs/react-component.html#forceupdate,但是你看到我的代码有状态并且当它改变时日历组件不会重新加载道具
标签: javascript reactjs