reactjs - 如何隐藏 primereact 日历组件

标签 reactjs primereact

有办法使用自定义按钮隐藏日历吗?

<Calendar onHide={handleCalendarHide} />;

现在我只能通过单击日历外部来隐藏日历,此触发 onHide 事件,但我想在选择日期然后单击“应用”按钮时隐藏日历。

有办法触发某些功能来隐藏此日历吗?

最佳答案

尝试下面的代码。它在输入元素旁边显示了一个内置按钮,除了输入元素获得焦点之外,该按钮还可以显示/隐藏日历:

const [date3, setDate3] = useState(null);

<Calendar id="icon" value={date3} onChange={(e) => setDate3(e.value)} showIcon />

直接取自组件页面:https://www.primefaces.org/primereact/calendar/

但是如果您确实需要自定义按钮来显示/隐藏日历叠加层,请尝试以下操作:

const [date3, setDate3] = useState();
const [isVisible, setIsVisible] = useState(false);

const handleVisibility = (e) => {
  setIsVisible(!isVisible);
};

const handleVisibleChange = (e) => {
  console.log(e);
};

<Button label="Custom Button" onClick={handleVisibility} />
<Calendar
    id="icon"
    value={date3}
    onChange={(e) => setDate3(e.value)}
    showOnFocus={false}
    visible={isVisible}
    onVisibleChange={handleVisibleChange}
  />

演示:https://f8n50l.csb.app/

关于reactjs - 如何隐藏 primereact 日历组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73374205/

相关文章:

node.js - 在 Windows 上运行 npm 命令时出错 : graceful-fs

javascript - 如何在 React 组件中将字符串渲染为子项?

javascript - 将项目数据传递给 react 模态

javascript - 如何 React 组件扩展所有传递的属性?

javascript - primeReact Props 和下拉选项问题

javascript - 对话框组件中的动态内容

javascript - 需要一个赋值或函数调用,而是看到一个表达式React JS

javascript - 模块未定义,导出未定义 - 使用 typescript + React

javascript - 如何使用PrimeReact的Button组件?

css - PrimeReact 和样式组件