diff --git a/src/components/CreatorList.jsx b/src/components/CreatorList.jsx index 0a79d25..72f2eb0 100644 --- a/src/components/CreatorList.jsx +++ b/src/components/CreatorList.jsx @@ -54,7 +54,7 @@ export default function CreatorList({ path }) { // 处理全选/取消全选 const handleSelectAll = (e) => { if (e.target.checked) { - dispatch(selectAllCreators()); + dispatch(selectAllCreators('database')); } else { dispatch(clearCreatorSelection()); } diff --git a/src/components/PrivateCreatorList.jsx b/src/components/PrivateCreatorList.jsx index 534822f..2c2f001 100644 --- a/src/components/PrivateCreatorList.jsx +++ b/src/components/PrivateCreatorList.jsx @@ -47,7 +47,7 @@ export default function PrivateCreatorList({ path }) { // 处理全选/取消全选 const handleSelectAll = (e) => { if (e.target.checked) { - dispatch(selectAllCreators()); + dispatch(selectAllCreators('database')); } else { dispatch(clearCreatorSelection()); } diff --git a/src/store/slices/creatorsSlice.js b/src/store/slices/creatorsSlice.js index a45be20..51587ff 100644 --- a/src/store/slices/creatorsSlice.js +++ b/src/store/slices/creatorsSlice.js @@ -259,8 +259,12 @@ const creatorsSlice = createSlice({ state.selectedCreators.push(creatorId); } }, - selectAllCreators: (state) => { - state.selectedCreators = state.creators.map((creator) => creator.id); + selectAllCreators: (state, action) => { + if (action.payload === 'database') { + state.selectedCreators = state.publicCreators.map((creator) => creator.id); + } else { + state.selectedCreators = state.privateCreators.map((creator) => creator.id); + } }, clearCreatorSelection: (state) => { state.selectedCreators = []; @@ -279,7 +283,7 @@ const creatorsSlice = createSlice({ extraReducers: (builder) => { builder .addCase(fetchCreators.pending, (state) => { - if (state.creators.length === 0) { + if (state.publicCreators.length === 0) { state.status = 'loading'; } else { state.isLoadingMore = true; @@ -303,7 +307,7 @@ const creatorsSlice = createSlice({ state.error = action.error.message; }) .addCase(fetchPrivateCreators.pending, (state) => { - if (state.creators?.length === 0) { + if (state.privateCreators?.length === 0) { state.status = 'loading'; } else { state.isLoadingMore = true;