input输入框的enter回车事件和blur事件重复触发的问题

1,101 阅读1分钟

解决办法:在enter回车的回调触发时,手动触发blur事件。

const onBlur = () => {
  // do search ...
};

const onKeyDown = (e) => {
  if (e.keyCode === 13) {
    e.target.blur(); // 当按下enter时,手动触发blur事件
  }
};

return (
  <input
    onKeyDown={onKeyDown}
    onBlur={onBlur}
  />
);