Flutter 为什么程序只在我按下Ctrl+;s
如果我从数据库得到肯定的响应,我希望我的程序打印文本“数据已插入!”。它工作得非常好,除了只有在按下Ctrl+s键时才显示文本 有人知道我该怎么解决吗 或者,我如何告诉程序自动按Ctrl+S键 (请忽略其他小部件和变量,我没有把它们全部放进去) 如果你有任何建议,请告诉我 谢谢!:) 在_buildInsertedData()中,我返回文本(“”),以便程序首次运行时不会显示任何内容。这可能不是最好的方法。 (您可以向下滚动到“build”小部件的末尾,在那里调用“\u buildInsertedData()”)Flutter 为什么程序只在我按下Ctrl+;s,flutter,Flutter,如果我从数据库得到肯定的响应,我希望我的程序打印文本“数据已插入!”。它工作得非常好,除了只有在按下Ctrl+s键时才显示文本 有人知道我该怎么解决吗 或者,我如何告诉程序自动按Ctrl+S键 (请忽略其他小部件和变量,我没有把它们全部放进去) 如果你有任何建议,请告诉我 谢谢!:) 在_buildInsertedData()中,我返回文本(“”),以便程序首次运行时不会显示任何内容。这可能不是最好的方法。 (您可以向下滚动到“build”小部件的末尾,在那里调用“\u buildInserte
我猜这是因为
\u buildInsertedData
返回一个小部件,您也将其添加到了树中-这是正确的。但是在onPressed上调用该函数不会更新树中的小部件。当您按下按钮时,它会更新值,但在按下Ctrl-S之前,您不会重建小部件树
要重建树,可以调用
setState(() {
// you can set any new values here (but not necessary)
});
所以也许你想这样做:
onPressed: ......
// b gets updated somewhere here before the future
Future.delayed(Duration(seconds: 1),(){
if (b == 1) {
setState(() { }); // rebuilds tree on screen
}
});
你也检查<代码> B==1 两次-考虑删除一个:)/p>什么是<代码> B<代码>什么时候设置?
setState(() {
// you can set any new values here (but not necessary)
});
onPressed: ......
// b gets updated somewhere here before the future
Future.delayed(Duration(seconds: 1),(){
if (b == 1) {
setState(() { }); // rebuilds tree on screen
}
});