Files
2026-09-15 15:44:13 +07:00

30 lines
635 B
Dart

import 'package:flutter/material.dart';
/// 保持widget 活跃
/// 使用:KeepAliveWidget(widget);
class KeepAliveWidget extends StatefulWidget {
final Widget child;
const KeepAliveWidget(this.child, {super.key});
@override
KeepAliveState 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 {
return KeepAliveWidget(this);
}
}