如何在下面给出的示例代码中显示showDialog
没有 aBuildcontext
的示例代码,该示例代码在扩展 a 的类中HookWidget
?
目前,我得到一个Undefined name 'context'.
我正在使用以下包来管理我的应用程序的状态:
flutter_hooks: ^0.10.0
hooks_riverpod: ^0.3.0
示例代码:
class HomeScreen extends HookWidget {
static String routeName = "/home";
PageController _pageController = PageController(initialPage: 1);
dynamic balanceAvailable = 0.0;
List<TransactionModel> transactionList = [];
_onRefresh(DragEndDetails details) async {
showDialog(
context: context,
builder: (BuildContext context) {
return Center(
child: SizedBox(
height: MediaQuery.of(context).size.height / 4,
width: MediaQuery.of(context).size.width / 2,
child: CircularProgressIndicator(
valueColor: new AlwaysStoppedAnimation<Color>(Colors.blue),
),
),
);
});
await Future.delayed(const Duration(seconds: 2));
Navigator.pop(context);
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: GestureDetector(
onVerticalDragEnd: _onRefresh,
child: PageView(
controller: _pageController,
children: [
MenuScreen(),
HomeBody(
value: balanceAvailable,
),
TransactionScreen(
transactionList: transactionList,
value: balanceAvailable,
),
],
),
),
);
}
}