diff --git a/src/renderer/src/components/Popups/SelectModelPopup/popup.tsx b/src/renderer/src/components/Popups/SelectModelPopup/popup.tsx index 3ea309f6a0..38a23b19fb 100644 --- a/src/renderer/src/components/Popups/SelectModelPopup/popup.tsx +++ b/src/renderer/src/components/Popups/SelectModelPopup/popup.tsx @@ -14,7 +14,6 @@ import React, { startTransition, useCallback, useDeferredValue, - useEffect, useLayoutEffect, useMemo, useRef, @@ -212,10 +211,10 @@ const PopupContainer: React.FC = ({ model, resolve, modelFilter }) => { // 处理键盘导航 const handleKeyDown = useCallback( - (e: KeyboardEvent) => { + (e: React.KeyboardEvent) => { const modelCount = modelItems.length - if (!open || modelCount === 0 || e.isComposing) return + if (!open || modelCount === 0 || e.nativeEvent.isComposing) return // 键盘操作时禁用鼠标 hover if (['ArrowUp', 'ArrowDown', 'PageUp', 'PageDown', 'Enter', 'Escape'].includes(e.key)) { @@ -277,11 +276,6 @@ const PopupContainer: React.FC = ({ model, resolve, modelFilter }) => { [modelItems, open, focusedItemKey, resolve, handleItemClick, setFocusedItemKey, listItems] ) - useEffect(() => { - window.addEventListener('keydown', handleKeyDown) - return () => window.removeEventListener('keydown', handleKeyDown) - }, [handleKeyDown]) - const onCancel = useCallback(() => { setOpen(false) }, []) @@ -340,52 +334,54 @@ const PopupContainer: React.FC = ({ model, resolve, modelFilter }) => { ) return ( - - {/* 搜索框 */} - - +
+ + {/* 搜索框 */} + + - {listItems.length > 0 ? ( - !isMouseOver && setIsMouseOver(true)}> - - {rowRenderer} - - - ) : ( - - - - )} - + {listItems.length > 0 ? ( + !isMouseOver && setIsMouseOver(true)}> + + {rowRenderer} + + + ) : ( + + + + )} + +
) }