fix: Refine TypeScript types for proxy groups component

This commit is contained in:
wonfen 2025-02-17 16:27:06 +08:00
parent 6be7a3b94c
commit 932b29e66f

View File

@ -129,7 +129,7 @@ export const ProxyGroups = (props: Props) => {
const virtuosoRef = useRef<VirtuosoHandle>(null); const virtuosoRef = useRef<VirtuosoHandle>(null);
const scrollPositionRef = useRef<Record<string, number>>({}); const scrollPositionRef = useRef<Record<string, number>>({});
const [showScrollTop, setShowScrollTop] = useState(false); const [showScrollTop, setShowScrollTop] = useState(false);
const scrollerRef = useRef<HTMLElement | null>(null); const scrollerRef = useRef<Element | null>(null);
// 使用useMemo缓存字母索引数据 // 使用useMemo缓存字母索引数据
const { groupFirstLetters, letterIndexMap } = useMemo(() => { const { groupFirstLetters, letterIndexMap } = useMemo(() => {
@ -346,7 +346,7 @@ export const ProxyGroups = (props: Props) => {
overscan={150} overscan={150}
defaultItemHeight={56} defaultItemHeight={56}
scrollerRef={(ref) => { scrollerRef={(ref) => {
scrollerRef.current = ref; scrollerRef.current = ref as Element;
}} }}
components={{ components={{
Footer: () => <div style={{ height: "16px" }} />, Footer: () => <div style={{ height: "16px" }} />,
@ -384,7 +384,7 @@ function debounce<T extends (...args: any[]) => any>(
func: T, func: T,
wait: number, wait: number,
): (...args: Parameters<T>) => void { ): (...args: Parameters<T>) => void {
let timeout: NodeJS.Timeout | null = null; let timeout: ReturnType<typeof setTimeout> | null = null;
return (...args: Parameters<T>) => { return (...args: Parameters<T>) => {
if (timeout) clearTimeout(timeout); if (timeout) clearTimeout(timeout);
timeout = setTimeout(() => func(...args), wait); timeout = setTimeout(() => func(...args), wait);