@@ -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