Flutter - 如何在设置状态后立即更改值
Flutter - How do I change a value straight after I setState
我有一个bool fetchNew
。它被初始化为 false,我有一个函数 refresh() 将它设置为 true。如何在 setState 后立即将其设置为 false 以防止重新渲染?
class _DashboardState extends State<Dashboard> {
bool fetchNew = false;
@override
void initState() {
super.initState();
}
refresh() {
setState(() {
fetchNew = true;
});
}
@override
Widget build(BuildContext context) {
return Container();
}
}
我认为 initState() 会在重新渲染后再次将其设置为 false,但我理解 initState 的方式是它只会触发一次以将 Widget 注入到 widget 树中。
你能试试这个吗?
setState(() {
fetchNew = true;
Future.delayed(Duration(milliseconds: 100, () {
fetchNew = false;
});
});
我有一个bool fetchNew
。它被初始化为 false,我有一个函数 refresh() 将它设置为 true。如何在 setState 后立即将其设置为 false 以防止重新渲染?
class _DashboardState extends State<Dashboard> {
bool fetchNew = false;
@override
void initState() {
super.initState();
}
refresh() {
setState(() {
fetchNew = true;
});
}
@override
Widget build(BuildContext context) {
return Container();
}
}
我认为 initState() 会在重新渲染后再次将其设置为 false,但我理解 initState 的方式是它只会触发一次以将 Widget 注入到 widget 树中。
你能试试这个吗?
setState(() {
fetchNew = true;
Future.delayed(Duration(milliseconds: 100, () {
fetchNew = false;
});
});