import React, { useRef } from 'react'; import { InputInstance } from './interface'; /** * * @param inputKeys InputKey必须唯一 * @returns */ export function useInputNext(inputKeys: T[]) { const refs = useRef>>( Object.fromEntries( inputKeys.map((key) => [key, React.createRef()]) ) as Record> ); const focusNext = (currentKey: T) => { const index = inputKeys.indexOf(currentKey); const nextKey = inputKeys[index + 1]; if (nextKey) { refs.current[nextKey]?.current?.focus?.(); } }; return { refs: refs.current, focusNext }; }