From 3bc4dc58d70a82616d66260c79c6a36ff81533a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9D=9E=E6=B3=95=E6=93=8D=E4=BD=9C?= Date: Sat, 30 Nov 2024 17:31:15 +0800 Subject: [PATCH] fix: search model not work as expected (#11225) --- .../model-selector/popup.tsx | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/web/app/components/header/account-setting/model-provider-page/model-selector/popup.tsx b/web/app/components/header/account-setting/model-provider-page/model-selector/popup.tsx index 1a910aba08..1e43439d15 100644 --- a/web/app/components/header/account-setting/model-provider-page/model-selector/popup.tsx +++ b/web/app/components/header/account-setting/model-provider-page/model-selector/popup.tsx @@ -25,22 +25,18 @@ const Popup: FC = ({ const language = useLanguage() const [searchText, setSearchText] = useState('') - const filteredModelList = modelList.filter( - model => model.models.filter( - (modelItem) => { - if (modelItem.label[language] !== undefined) - return modelItem.label[language].toLowerCase().includes(searchText.toLowerCase()) + const filteredModelList = modelList.map((model) => { + const filteredModels = model.models.filter((modelItem) => { + if (modelItem.label[language] !== undefined) + return modelItem.label[language].toLowerCase().includes(searchText.toLowerCase()) - let found = false - Object.keys(modelItem.label).forEach((key) => { - if (modelItem.label[key].toLowerCase().includes(searchText.toLowerCase())) - found = true - }) + return Object.values(modelItem.label).some(label => + label.toLowerCase().includes(searchText.toLowerCase()), + ) + }) - return found - }, - ).length, - ) + return { ...model, models: filteredModels } + }).filter(model => model.models.length > 0) return (