diff --git a/src/views/Company/components/CompanyHeader/SearchBar.js b/src/views/Company/components/CompanyHeader/SearchBar.js index 8cb59706..677ebe00 100644 --- a/src/views/Company/components/CompanyHeader/SearchBar.js +++ b/src/views/Company/components/CompanyHeader/SearchBar.js @@ -7,7 +7,6 @@ import { Box, HStack, Input, - Button, InputGroup, InputLeftElement, Text, @@ -66,12 +65,11 @@ const SearchBar = ({ return () => document.removeEventListener('mousedown', handleClickOutside); }, []); - // 选择股票 + // 选择股票 - 直接触发搜索跳转 const handleSelectStock = (stock) => { onInputChange(stock.code); setShowDropdown(false); - // 自动触发搜索 - setTimeout(() => onSearch(), 0); + onSearch(stock.code); }; // 处理键盘事件 @@ -83,47 +81,30 @@ const SearchBar = ({ }; return ( - - - - - - - onInputChange(e.target.value)} - onKeyDown={handleKeyDownWrapper} - onFocus={() => inputCode && filteredStocks.length > 0 && setShowDropdown(true)} - borderRadius="md" - color="white" - borderColor="#C9A961" - _placeholder={{ color: '#C9A961' }} - _focus={{ - borderColor: '#F4D03F', - boxShadow: '0 0 0 1px #F4D03F', - }} - _hover={{ - borderColor: '#F4D03F', - }} - /> - - - + _placeholder={{ color: '#C9A961' }} + _focus={{ + borderColor: '#F4D03F', + boxShadow: '0 0 0 1px #F4D03F', + }} + _hover={{ + borderColor: '#F4D03F', + }} + /> + {/* 模糊搜索下拉列表 */} {showDropdown && ( @@ -132,7 +113,7 @@ const SearchBar = ({ top="100%" left={0} mt={1} - w="300px" + w="100%" bg="#1A202C" border="1px solid #C9A961" borderRadius="md" diff --git a/src/views/Company/hooks/useCompanyStock.js b/src/views/Company/hooks/useCompanyStock.js index 36467910..d55d220a 100644 --- a/src/views/Company/hooks/useCompanyStock.js +++ b/src/views/Company/hooks/useCompanyStock.js @@ -50,9 +50,10 @@ export const useCompanyStock = (options = {}) => { /** * 执行搜索 - 更新 stockCode 和 URL + * @param {string} [code] - 可选,直接传入股票代码(用于下拉选择) */ - const handleSearch = useCallback(() => { - const trimmedCode = inputCode?.trim(); + const handleSearch = useCallback((code) => { + const trimmedCode = code || inputCode?.trim(); if (trimmedCode && trimmedCode !== stockCode) { // 触发变化回调(用于追踪)