It *_*ors 1 android dart flutter
我想根据条件逻辑从 Widget 中删除内容。
下面是我的小部件树,
return MaterialApp(
home: Scaffold(
body: Container(
margin: EdgeInsets.all(120.0),
child: Align(
alignment: Alignment.center,
child: Column(
children: <Widget>[
Text("Loading...");
],
),
),
),
));
Run Code Online (Sandbox Code Playgroud)
假设我有一个从 SharePreferences 获取值的变量,如果值为“隐藏”,则必须隐藏封装在其中的文本小部件。否则它应该显示从 SP 获取的文本。
这里的问题是文本最初将在特定的持续时间内显示“正在加载...”,然后它必须根据条件动态地运行。
我已经尝试过Timer,setState()但无法真正让它发挥作用。如果有人对此有解决方案,请提供帮助。
ole*_*.le 12
乔丹戴维斯是对的。你需要一个FutureBuilder或StreamBuilder。
return MaterialApp(
home: Scaffold(
body: Container(
margin: EdgeInsets.all(120.0),
child: Center(
child: FutureBuilder(
future: Future.delayed(Duration(seconds: 3)),
builder: (c, s) => s.connectionState == ConnectionState.done
? Text("Loaded")
: Text("Loading..."))),
),
));
Run Code Online (Sandbox Code Playgroud)
只需替换Future.delayed为您的功能。
| 归档时间: |
|
| 查看次数: |
6167 次 |
| 最近记录: |