[英]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:使用final
的temp
变量来存储你的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.