简体   繁体   中英

How to prevent react-dates SingleDatePicker to open on focus?

I'm using react-dates SingleDatePicker. The visibility of the calendar is controlled by the focused prop. When using tabs on the website, I don't want the calendar to open, I want it to open on enter key. Is there a way to achieve this? Thanks!

You should to control "focused" property and onFocusChange method. Also set the listener to container. For example

.....
  const [focusedInput, setFocusedInput] = useState(null);

  const handleUserKeyPress = (evt) => {
    if (evt.keyCode === 13 && !evt.shiftKey) setFocusedInput(true);
  };
....

    <div onKeyUp={handleUserKeyPress}>
      <SingleDatePicker
        focused={focusedInput} 
        onFocusChange={({ focused }) => {
          const focus = focusedInput && focused ? true : false;
          setFocusedInput(focus);
        }} 
        .....
      />
</div>
.....

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM