Files
谢宇宁andClaude Opus 5.5 2d26ea8f90 Initial commit
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 10:38:11 +07:00

28 lines
631 B
Dart

import 'package:flutter/material.dart';
/// 保持widget 活跃
/// 使用:KeepAliveWidget(widget);
class KeepAliveWidget extends StatefulWidget {
final Widget child;
const KeepAliveWidget(this.child, {super.key});
@override
State<KeepAliveWidget> createState() => _KeepAliveState();
}
class _KeepAliveState extends State<KeepAliveWidget> with AutomaticKeepAliveClientMixin {
@override
bool get wantKeepAlive => true;
@override
Widget build(BuildContext context) {
super.build(context);
return widget.child;
}
}
extension KeepWrapper on Widget {
Widget get keepAlive => KeepAliveWidget(this);
}