Selaa lähdekoodia

🐛 fix(template): 修复模板广场筛选功能异常问题

- 将分类和价格筛选的默认状态从空字符串改为"all"
- 调整筛选条件逻辑,只有当值不为"all"时才传递参数
- 修复分类选择器中"全部分类"选项的值为"all"
- 修复价格类型选择器中"全部类型"选项的值为"all"
- 修复标签页切换时的筛选状态设置逻辑
yourname 3 kuukautta sitten
vanhempi
sitoutus
ee547f593b
1 muutettua tiedostoa jossa 7 lisäystä ja 7 poistoa
  1. 7 7
      src/client/home/pages/TemplateSquare.tsx

+ 7 - 7
src/client/home/pages/TemplateSquare.tsx

@@ -32,8 +32,8 @@ const TemplateSquare: React.FC = () => {
   const [templates, setTemplates] = useState<Template[]>([]);
   const [categories, setCategories] = useState<string[]>([]);
   const [loading, setLoading] = useState(true);
-  const [category, setCategory] = useState<string>('');
-  const [isFree, setIsFree] = useState<string>('');
+  const [category, setCategory] = useState<string>('all');
+  const [isFree, setIsFree] = useState<string>('all');
   const [searchKeyword, setSearchKeyword] = useState('');
   const [pagination, setPagination] = useState({
     current: 1,
@@ -56,8 +56,8 @@ const TemplateSquare: React.FC = () => {
         query: {
           page: pagination.current,
           pageSize: pagination.pageSize,
-          category: category || undefined,
-          isFree: isFree ? parseInt(isFree) : undefined
+          category: category !== 'all' ? category : undefined,
+          isFree: isFree !== 'all' ? parseInt(isFree) : undefined
         }
       });
       
@@ -234,7 +234,7 @@ const TemplateSquare: React.FC = () => {
               <SelectValue placeholder="全部分类" />
             </SelectTrigger>
             <SelectContent>
-              <SelectItem value="">全部分类</SelectItem>
+              <SelectItem value="all">全部分类</SelectItem>
               {categories.map(cat => (
                 <SelectItem key={cat} value={cat}>{cat}</SelectItem>
               ))}
@@ -246,7 +246,7 @@ const TemplateSquare: React.FC = () => {
               <SelectValue placeholder="全部类型" />
             </SelectTrigger>
             <SelectContent>
-              <SelectItem value="">全部类型</SelectItem>
+              <SelectItem value="all">全部类型</SelectItem>
               <SelectItem value="1">免费</SelectItem>
               <SelectItem value="0">会员</SelectItem>
             </SelectContent>
@@ -256,7 +256,7 @@ const TemplateSquare: React.FC = () => {
 
       <Tabs defaultValue="all" className="mb-6">
         <TabsList>
-          <TabsTrigger value="all" onClick={() => setIsFree('')}>全部</TabsTrigger>
+          <TabsTrigger value="all" onClick={() => setIsFree('all')}>全部</TabsTrigger>
           <TabsTrigger value="free" onClick={() => setIsFree('1')}>免费模板</TabsTrigger>
           <TabsTrigger value="vip" onClick={() => setIsFree('0')}>会员专享</TabsTrigger>
         </TabsList>