feat: 完成CustomMultiSelect多选组件开发并集成到顶部导航栏

This commit is contained in:
imeepos
2025-07-17 20:09:37 +08:00
parent 045de8850a
commit 7f3a59282d
14 changed files with 571 additions and 246 deletions

View File

@@ -3,9 +3,8 @@ import {
MagnifyingGlassIcon,
FunnelIcon,
XMarkIcon,
AdjustmentsHorizontalIcon
} from '@heroicons/react/24/outline';
import {CustomSelect} from '../CustomSelect';
import {CustomMultiSelect, CustomSelect} from '../CustomSelect';
interface SearchFilters {
categories?: string[];
@@ -185,12 +184,11 @@ const OutfitSearchPanel: React.FC<OutfitSearchPanelProps> = ({
<label className="block text-sm font-medium text-gray-700 mb-2">
</label>
<CustomSelect
<CustomMultiSelect
options={categoryOptions}
value={filters.categories || []}
onChange={(value) => handleFilterChange('categories', value)}
placeholder="选择类别"
multiple
/>
</div>
@@ -199,12 +197,11 @@ const OutfitSearchPanel: React.FC<OutfitSearchPanelProps> = ({
<label className="block text-sm font-medium text-gray-700 mb-2">
</label>
<CustomSelect
<CustomMultiSelect
options={styleOptions}
value={filters.styles || []}
onChange={(value) => handleFilterChange('styles', value)}
placeholder="选择风格"
multiple
/>
</div>
@@ -213,12 +210,11 @@ const OutfitSearchPanel: React.FC<OutfitSearchPanelProps> = ({
<label className="block text-sm font-medium text-gray-700 mb-2">
</label>
<CustomSelect
<CustomMultiSelect
options={occasionOptions}
value={filters.occasions || []}
onChange={(value) => handleFilterChange('occasions', value)}
placeholder="选择场合"
multiple
/>
</div>
@@ -227,12 +223,11 @@ const OutfitSearchPanel: React.FC<OutfitSearchPanelProps> = ({
<label className="block text-sm font-medium text-gray-700 mb-2">
</label>
<CustomSelect
<CustomMultiSelect
options={seasonOptions}
value={filters.seasons || []}
onChange={(value) => handleFilterChange('seasons', value)}
placeholder="选择季节"
multiple
/>
</div>
@@ -241,12 +236,11 @@ const OutfitSearchPanel: React.FC<OutfitSearchPanelProps> = ({
<label className="block text-sm font-medium text-gray-700 mb-2">
</label>
<CustomSelect
<CustomMultiSelect
options={colorOptions}
value={filters.colors || []}
onChange={(value) => handleFilterChange('colors', value)}
placeholder="选择颜色"
multiple
/>
</div>
@@ -255,12 +249,11 @@ const OutfitSearchPanel: React.FC<OutfitSearchPanelProps> = ({
<label className="block text-sm font-medium text-gray-700 mb-2">
</label>
<CustomSelect
<CustomMultiSelect
options={matchingTypeOptions}
value={filters.matchingTypes || []}
onChange={(value) => handleFilterChange('matchingTypes', value)}
placeholder="选择搭配类型"
multiple
/>
</div>
</div>