追加webdav重新登录的button,还在测试边界情况
This commit is contained in:
@@ -7,6 +7,7 @@ import '../services/webdav_service.dart';
|
||||
import '../services/playback_service.dart';
|
||||
import '../services/audio_service.dart';
|
||||
import '../constants/ui_constants.dart';
|
||||
import '../base/base_state.dart';
|
||||
|
||||
class WebDAVFileListPage extends StatefulWidget {
|
||||
final String currentPath;
|
||||
@@ -17,7 +18,7 @@ class WebDAVFileListPage extends StatefulWidget {
|
||||
State<WebDAVFileListPage> createState() => _WebDAVFileListPageState();
|
||||
}
|
||||
|
||||
class _WebDAVFileListPageState extends State<WebDAVFileListPage> {
|
||||
class _WebDAVFileListPageState extends BaseState<WebDAVFileListPage> {
|
||||
List<WebDAVItem> _items = [];
|
||||
bool _isLoading = true;
|
||||
String _errorMessage = '';
|
||||
@@ -43,7 +44,7 @@ class _WebDAVFileListPageState extends State<WebDAVFileListPage> {
|
||||
// 加载目录
|
||||
// ============================================================
|
||||
Future<void> _loadDirectory() async {
|
||||
setState(() {
|
||||
safeSetState(() {
|
||||
_isLoading = true;
|
||||
_errorMessage = '';
|
||||
});
|
||||
@@ -51,15 +52,21 @@ class _WebDAVFileListPageState extends State<WebDAVFileListPage> {
|
||||
try {
|
||||
final items =
|
||||
await WebDAVService.instance.listDirectory(path: _currentPath);
|
||||
setState(() {
|
||||
_items = items;
|
||||
_isLoading = false;
|
||||
});
|
||||
if (mounted) {
|
||||
// ⭐ 加这个
|
||||
setState(() {
|
||||
_items = items;
|
||||
_isLoading = false;
|
||||
});
|
||||
}
|
||||
} catch (e) {
|
||||
setState(() {
|
||||
_errorMessage = '加载失败: $e';
|
||||
_isLoading = false;
|
||||
});
|
||||
if (mounted) {
|
||||
// ⭐ 加这个
|
||||
setState(() {
|
||||
_errorMessage = '加载失败: $e';
|
||||
_isLoading = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user