Files
hjsq_android/lib/tools_base/widget/keep_alive_widget.dart
T
2026-10-08 11:37:25 +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);
}