我正在制作一个页面,其中包含一些相互交互的dropboxes和一个Futurebuilder包装的ListView。 当Dropbox改变并点击checkbox时,我调用了'setState‘。然而,由于checkbox的onChanged中的setState,Futurebuilder不断被调用,并且ListView被重新构建。因此,当点击复选框时,整个列表视图都会闪烁,就像下面的视频一样。 ? 我想保留Listview and update only复选框。有谁能帮我吗?谢谢你。 完整的代码是 class _StatefulDialogWidgetState extends St
我试图根据FutureBuilder收到的结果来设置状态,看起来这是不可能的,因为FutureBuild还在构建,有什么想法吗?
错误:
The following assertion was thrown building FutureBuilder<String>(dirty, state: _FutureBuilderState<String>#db9f1):
setState() or markNeedsBuild() called during build.
This StatefulBuilder widget cannot be marked as ne
在颤振中,我使用FutureBuilder显示来自API的数据。当出现错误时,我想弹出一个错误对话框。
但是,当我调用showDialog()时,它会引发错误。
setState() or markNeedsBuild() called during build.
这是我的密码
return FutureBuilder(
future: xxx,
builder: (context, snapshot) {
if (snapshot.hasData) {
//DO SOMETHING
} else if (s
我想更新标题小部件后,未来的建设者,它从DB获得数据。
考虑一下这个简化的代码
Column (
children: [
Text('Data is loading'), // I want to changed it into `Data is loaded`
FutureBuilder(
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.data == null) {
return Center(
child: CircularProgr
我的目标是在单击ExpansionTile时加载一次Future并存储值,这样当Tile关闭然后重新打开时,Future就不会再次加载。
我当前代码的问题是这个错误:
I/flutter (30528): The following assertion was thrown building FutureBuilder<Trim>(dirty, state:
I/flutter (30528): _FutureBuilderState<Trim>#90a6d):
I/flutter (30528): setState() or markNeedsBuild() call
这是我的main.dart
class MyApp extends StatelessWidget {
var login = new Login("xxxxxxx", "xxxxxxxxx");
final scaffoldKey = new GlobalKey<ScaffoldState>();
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Fetch Data Example',
theme: Theme
我正在尝试获取用户id,并使用firestore检查flutter中是否存在,但我没有得到正确的结果。
handlesearch() {
final form = formkey.currentState;
final Future<QuerySnapshot> result = Firestore.instance
.collection('users')
.where('userid', isEqualTo: form)
.getDocuments();
setState(