1.继承InheritedWidget定义需要共享的数据
class ShareDateWidget extends InheritedWidget {
final String data;
const ShareDateWidget({
Key? key, required Widget child, required this.data})
: super(key: key, child: child);
static ShareDateWidget? of(BuildContext context) =>
context.dependOnInheritedWidgetOfExactType<ShareDateWidget>();
@override
bool updateShouldNotify(covariant ShareDateWidget oldWidget) =>
oldWidget.data != data;
}
2.定义两个使用者
class _TestWidget extends StatefulWidget {
@override
State<StatefulWidget> createState() => _TestWidgetState();
}
class _TestWidgetState extends State<_TestWidget> {
@override
Widget build(BuildContext context) =>
Text('Widget Top:${ShareDateWidget.of(context)?.data ?? ""}'