Skip to content

Commit 0417a1a

Browse files
committed
fix: 修复点击排序后无效的问题
1 parent ac1801d commit 0417a1a

File tree

1 file changed

+26
-18
lines changed

1 file changed

+26
-18
lines changed

lib/screen/file_list/file_list_screen.dart

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,8 @@ class _FileListScreenState extends State<FileListScreen>
8484
FileListMenuAnchorController();
8585

8686
static const String tag = "_FileListScreenState";
87-
final Rx<FileListRespEntity?> _data = Rx<FileListRespEntity?>(null);
88-
final _files = <FileItemVO>[].obs;
87+
FileListRespEntity? _data;
88+
List<FileItemVO> _files = List.empty(growable: false);
8989
final GlobalKey<RefreshIndicatorState> _refreshIndicatorKey =
9090
GlobalKey<RefreshIndicatorState>();
9191

@@ -130,8 +130,10 @@ class _FileListScreenState extends State<FileListScreen>
130130
_currentUser?.serverUrl != event.serverUrl) {
131131
_currentUser = event;
132132
_loadFilesPrepare(event, "/");
133-
_data.value = null;
134-
_files.value = [];
133+
setState(() {
134+
_data = null;
135+
_files = [];
136+
});
135137
LogUtil.d("切换User ${_userController.user.value.username}");
136138
}
137139
});
@@ -193,8 +195,10 @@ class _FileListScreenState extends State<FileListScreen>
193195
fileItemVOs.add(fileItemVO);
194196
}
195197
_sort(fileItemVOs);
196-
_files.value = fileItemVOs;
197-
_data.value = data;
198+
setState(() {
199+
_files = fileItemVOs;
200+
});
201+
_data = data;
198202
}, onError: (code, msg) {
199203
_forceRefresh = false;
200204
if (code == 403) {
@@ -269,7 +273,11 @@ class _FileListScreenState extends State<FileListScreen>
269273
case MenuGroupId.sort:
270274
_menuAnchorController.sortBy.value = menu.menuId;
271275
_menuAnchorController.sortByUp.value = menu.isUp ?? false;
272-
_sort(_files);
276+
var newFiles = _files.toList();
277+
_sort(newFiles);
278+
setState(() {
279+
_files = newFiles;
280+
});
273281
break;
274282
}
275283
},
@@ -381,17 +389,17 @@ class _FileListScreenState extends State<FileListScreen>
381389
key: _refreshIndicatorKey,
382390
onRefresh: () => _loadFiles(),
383391
child: SlidableAutoCloseBehavior(
384-
child: Obx(() => _FileListView(
385-
path: path,
386-
readme: _data.value?.readme,
387-
files: _files,
388-
hasWritePermission: _hasWritePermission,
389-
onFileItemClick: _onFileTap,
390-
onFileMoreIconButtonTap: _onFileMoreIconButtonTap,
391-
fileDeleteCallback: (context, index) {
392-
_tryDeleteFile(_files[index]);
393-
},
394-
)),
392+
child: _FileListView(
393+
path: path,
394+
readme: _data?.readme,
395+
files: _files,
396+
hasWritePermission: _hasWritePermission,
397+
onFileItemClick: _onFileTap,
398+
onFileMoreIconButtonTap: _onFileMoreIconButtonTap,
399+
fileDeleteCallback: (context, index) {
400+
_tryDeleteFile(_files[index]);
401+
},
402+
),
395403
),
396404
),
397405
);

0 commit comments

Comments
 (0)