From 0997cd9992626dec2b78da95fc185c38b4d9cc12 Mon Sep 17 00:00:00 2001 From: zdl <3489966805@qq.com> Date: Wed, 10 Dec 2025 10:52:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=90=9C=E7=B4=A2=E6=A0=8F=E4=BA=A4?= =?UTF-8?q?=E4=BA=92=E4=BC=98=E5=8C=96=20-=20=E7=A7=BB=E9=99=A4=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=8C=89=E9=92=AE=EF=BC=8C=E9=80=89=E6=8B=A9=E5=90=8E?= =?UTF-8?q?=E7=9B=B4=E6=8E=A5=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - SearchBar: 移除"查询"按钮,简化交互 - SearchBar: 选择股票后直接触发搜索跳转 - useCompanyStock: handleSearch 支持直接传入股票代码参数 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../components/CompanyHeader/SearchBar.js | 71 +++++++------------ src/views/Company/hooks/useCompanyStock.js | 5 +- 2 files changed, 29 insertions(+), 47 deletions(-) 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) { // 触发变化回调(用于追踪)