fix: douban selector reselect

This commit is contained in:
shinya
2025-07-21 22:37:01 +08:00
parent 43aeb09cbf
commit e5e4ec6244
2 changed files with 18 additions and 9 deletions

View File

@@ -226,16 +226,25 @@ function DoubanPageClient() {
// 处理选择器变化
const handlePrimaryChange = useCallback(
(value: string) => {
setLoading(true);
setPrimarySelection(value);
// 只有当值真正改变时才设置loading状态
if (value !== primarySelection) {
setLoading(true);
setPrimarySelection(value);
}
},
[type]
[primarySelection]
);
const handleSecondaryChange = useCallback((value: string) => {
setLoading(true);
setSecondarySelection(value);
}, []);
const handleSecondaryChange = useCallback(
(value: string) => {
// 只有当值真正改变时才设置loading状态
if (value !== secondarySelection) {
setLoading(true);
setSecondarySelection(value);
}
},
[secondarySelection]
);
const getPageTitle = () => {
// 根据 type 生成标题

View File

@@ -241,8 +241,8 @@ const DoubanSelector: React.FC<DoubanSelectorProps> = ({
onClick={() => onChange(option.value)}
className={`relative z-10 px-2 py-1 sm:px-4 sm:py-2 text-xs sm:text-sm font-medium rounded-full transition-all duration-200 whitespace-nowrap ${
isActive
? 'text-gray-900 dark:text-gray-100'
: 'text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-100'
? 'text-gray-900 dark:text-gray-100 cursor-default'
: 'text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-100 cursor-pointer'
}`}
>
{option.label}