mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 07:14:28 +01:00
33 lines
665 B
Dart
33 lines
665 B
Dart
import 'package:flutter/material.dart';
|
|
|
|
class RebuildWidget extends StatefulWidget {
|
|
const RebuildWidget({super.key, required this.child});
|
|
|
|
final Widget child;
|
|
|
|
static void restartApp(BuildContext context) {
|
|
context.findAncestorStateOfType<_RebuildWidgetState>()?.restartApp();
|
|
}
|
|
|
|
@override
|
|
_RebuildWidgetState createState() => _RebuildWidgetState();
|
|
}
|
|
|
|
class _RebuildWidgetState extends State<RebuildWidget> {
|
|
Key key = UniqueKey();
|
|
|
|
void restartApp() {
|
|
setState(() {
|
|
key = UniqueKey();
|
|
});
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return KeyedSubtree(
|
|
key: key,
|
|
child: widget.child,
|
|
);
|
|
}
|
|
}
|