React使用antd日历组件如何实现点击日历内容上面的radiobutton失焦
时间: 2024-02-27 13:55:55 浏览: 110
react-native-general-calendars:React本机日历组件:tear-off_calendar:
您好,要实现点击日历内容上面的radiobutton失焦,可以使用antd日历组件的onPanelChange事件,然后在事件中判断当前操作是否为点击日历内容上面的radiobutton,如果是则手动让该radiobutton失焦。具体实现可以参考以下代码:
```jsx
import React, { useState } from 'react';
import { Calendar } from 'antd';
const CalendarDemo = () => {
const [value, setValue] = useState(null);
const handlePanelChange = (value, mode) => {
// 判断是否为点击日历内容上面的radiobutton
const isClickRadio = mode === 'year' || mode === 'month';
if (isClickRadio) {
// 手动让该radiobutton失焦
const radio = document.querySelector('.ant-radio-input:focus');
if (radio) {
radio.blur();
}
}
setValue(value);
};
return (
<Calendar value={value} onPanelChange={handlePanelChange} />
);
};
export default CalendarDemo;
```
在上面的代码中,我们首先使用useState Hook来保存当前选中的日期,然后在handlePanelChange事件中判断当前操作是否为点击日历内容上面的radiobutton,如果是则手动让该radiobutton失焦,最后更新选中的日期。
阅读全文