antd-mobile
Version:
<div align="center">
23 lines • 655 B
JavaScript
import { useIsomorphicLayoutEffect } from 'ahooks';
export default function useInputHandleKeyDown({
onEnterPress,
onKeyDown,
nativeInputRef,
enterKeyHint
}) {
const handleKeydown = e => {
if (onEnterPress && (e.code === 'Enter' || e.keyCode === 13)) {
onEnterPress(e);
}
onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);
};
useIsomorphicLayoutEffect(() => {
const ele = nativeInputRef.current;
if (!enterKeyHint || !ele) return;
ele.setAttribute('enterkeyhint', enterKeyHint);
return () => {
ele.removeAttribute('enterkeyhint');
};
}, [enterKeyHint]);
return handleKeydown;
}