UNPKG

655 BJavaScriptView Raw
1import { useIsomorphicLayoutEffect } from 'ahooks';
2export default function useInputHandleKeyDown({
3 onEnterPress,
4 onKeyDown,
5 nativeInputRef,
6 enterKeyHint
7}) {
8 const handleKeydown = e => {
9 if (onEnterPress && (e.code === 'Enter' || e.keyCode === 13)) {
10 onEnterPress(e);
11 }
12 onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);
13 };
14 useIsomorphicLayoutEffect(() => {
15 const ele = nativeInputRef.current;
16 if (!enterKeyHint || !ele) return;
17 ele.setAttribute('enterkeyhint', enterKeyHint);
18 return () => {
19 ele.removeAttribute('enterkeyhint');
20 };
21 }, [enterKeyHint]);
22 return handleKeydown;
23}
\No newline at end of file