
- 新增MainView Tab切换问题分析文档,详细描述问题原因及解决方案。 - 优化BottomTabView的绑定逻辑,简化状态管理,确保Tab切换时状态正确更新。 - 在MeView中实现用户信息加载逻辑调整,确保动态列表仅在首次进入时加载,并添加错误处理视图。 - 创建EmptyStateView组件,提供统一的空状态展示和重试功能。 - 增强调试信息输出,便于后续问题排查和用户体验提升。
38 lines
969 B
Swift
38 lines
969 B
Swift
import SwiftUI
|
|
|
|
struct EmptyStateView: View {
|
|
let onRetry: () -> Void
|
|
|
|
var body: some View {
|
|
VStack(spacing: 12) {
|
|
Image(systemName: "doc.text")
|
|
.font(.system(size: 32))
|
|
.foregroundColor(.white.opacity(0.5))
|
|
|
|
Text("暂无数据")
|
|
.font(.system(size: 16, weight: .medium))
|
|
.foregroundColor(.white.opacity(0.7))
|
|
|
|
Button("重试") {
|
|
onRetry()
|
|
}
|
|
.font(.system(size: 14, weight: .medium))
|
|
.foregroundColor(.white)
|
|
.padding(.horizontal, 24)
|
|
.padding(.vertical, 8)
|
|
.background(Color.blue.opacity(0.8))
|
|
.cornerRadius(8)
|
|
}
|
|
.frame(height: 100)
|
|
.frame(maxWidth: .infinity)
|
|
}
|
|
}
|
|
|
|
#Preview {
|
|
ZStack {
|
|
Color.black
|
|
EmptyStateView {
|
|
print("重试按钮被点击")
|
|
}
|
|
}
|
|
} |