import 'package:flutter/material.dart'; /// 空状态占位视图。 class EmptyView extends StatelessWidget { const EmptyView({ super.key, this.message = '暂无数据', this.icon, this.action, }); final String message; final Widget? icon; final Widget? action; @override Widget build(BuildContext context) { return Center( child: Padding( padding: const EdgeInsets.all(32), child: Column( mainAxisSize: MainAxisSize.min, children: [ icon ?? Icon( Icons.inbox_outlined, size: 64, color: Theme.of(context).colorScheme.outlineVariant, ), const SizedBox(height: 16), Text( message, style: Theme.of(context).textTheme.bodyMedium?.copyWith( color: Theme.of(context).colorScheme.outline, ), textAlign: TextAlign.center, ), if (action != null) ...[const SizedBox(height: 24), action!], ], ), ), ); } }