预先感谢您调查此问题,我在弹出页面时遇到了问题!
我有此代码可在一个小部件中使用。它正在扫描QR码
@override
initState() {
_scan();
super.initState();
}
Future _scan() async {
barcode = await scanner.scan();
widget.test();
Navigator.pop(context);
}
我如何正确使用另一个库?在回调中调用widget.test()和Pop?
@override
void initState() {
super.initState();
_captureController.onCapture(
(data) {
print('onCapture----$data');
setState(() {
_captureText = data;
});
},
);
答案 0 :(得分:0)
因此解决方案是这样。我没有直接在setState()中调用函数,而是翻转了布尔。
bool _popBack = false;
@override
initState() {
_captureController.onCapture(
(data) {
print('onCapture----$data');
setState(() {
_captureText = data;
if (!_popBack) {
_popBack = true;
_popTime();
}
});
},
);
这有效!
Future<dynamic> _popTime() async {
widget.test();
Navigator.of(context).pop();
}
不要问我太多关于为什么或如何的问题。它起作用了!