作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图简单地实现 react-day-picker。但是我在尝试关闭 DayPicker
容器时发现了一个问题,当它从 DayPickerInput
触发并且属性 keepFocus
设置为 false
.
<DayPickerInput
keepFocus={false}
placeholder="DD/MM/YYYY"
format="DD/MM/YYYY"
/>
这里是codesandbox:https://codesandbox.io/s/0mn32ryl0n
如果您在输入框内单击,日期选择器叠加层会正确显示,如果您在叠加层的空白区域中单击,则叠加层会获得焦点,并且会一直聚焦直到您选择一天,否则它不会关闭.因此,如果您单击叠加层之外的区域,它不会自动关闭。
问题是,这是预期的行为还是我遗漏了什么。如果未选择一天并且叠加层已获得焦点,我该如何关闭 DayPicker?
最佳答案
我最终做了这样的事情,
let dayPickerInputRef = null;
function Example() {
return (
<div name="main-container">
<h3>DayPickerInput</h3>
<DayPickerInput
ref={ref => (dayPickerInputRef = ref)}
keepFocus={false}
placeholder="DD/MM/YYYY"
format="DD/MM/YYYY"
dayPickerProps = {{
onBlur: () => {
setTimeout(() => {
const elClicked = document.activeElement,
container = document.getElementsByName(`main-container`);
if (container && !container[0].contains(elClicked)) {
dayPickerInputRef.hideDayPicker();
}
}, 1);
}
}}
/>
</div>
);
}
关于javascript - 如果 keepfocus 设置为 false,则 react-day-picker 不会关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50436206/
我试图简单地实现 react-day-picker。但是我在尝试关闭 DayPicker 容器时发现了一个问题,当它从 DayPickerInput 触发并且属性 keepFocus 设置为 fals
我是一名优秀的程序员,十分优秀!