new: rebuild impl

This commit is contained in:
lollipopkit
2023-09-21 19:24:05 +08:00
parent 453eb200a8
commit cc4a05bf11
7 changed files with 51 additions and 60 deletions

View File

@@ -1,32 +0,0 @@
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,
);
}
}