简体   繁体   English

Flutter 我如何在不刷新我的 futurebuilder 的情况下使用 setState 事件

[英]Flutter how i can use a setState event without refresh my futurebuilder

I have a question.我有个问题。

At the moment i try to build a category list with data from firebase.目前,我尝试使用来自 firebase 的数据构建一个类别列表。

To load the data i use a futurebuilder.为了加载数据,我使用了 futurebuilder。

Here my category list:这是我的类别列表:

在此处输入图像描述

Now i want to implement a color change event if i click on a list element.现在我想在单击列表元素时实现颜色更改事件。 For example, if i click on tree the element tree should change the color.例如,如果我点击树元素树应该改变颜色。

My problem:我的问题:

I create a object for every category.我为每个类别创建一个 object。 If i try to change the color i use in futurebuilder a setState.如果我尝试更改我在 futurebuilder 中使用的颜色 setState。 The setState refresh my Object. How i can use a setState without reload my the futurebuilder? setState 刷新我的 Object。如何在不重新加载我的 futurebuilder 的情况下使用 setState?

Many thx (:许多thx(:

You can use this little trick.你可以使用这个小技巧。 For example, this is your future:例如,这是你的未来:

Future<void> yourFuture async{
// do something
}

Use a final temp variable to store your future like this:使用finaltemp变量来存储你的future ,如下所示:

final temp = yourFuture;

Then use it in your FutureBuilder :然后在你的FutureBuilder中使用它:

FutureBuilder(
future: temp,
builder: (context, snapshot){}
),

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM