首页 > 解决方案 > 如何根据 sqlite 数据库更改图标颜色?

问题描述

我创建了一个数据库,它包含一个收藏列表,我想获取该项目是否在收藏列表中的数据以将其呈现在屏幕上

icon: Icon ( await DBProvider.db
                          .searchFavItem(widget._items[index].idItem)
                      ? Icons.favorite
                      : Icons.favorite_border),

但是,我收到一条错误消息“等待表达式只能在异步函数中使用。尝试用‘异步’或‘异步*’标记函数体。”

我不知道如何在这种语句中添加功能。非常感谢。

标签: flutterdart

解决方案


要解决此问题,您需要先加载async值,然后将该返回值传递给Icon Widget,这是因为 的icon属性Icon Widgetasync期望值。因此,您将无法在await此处使用。

一种方法是使用FutureBuilderWidget,其他方法包括State Management在数据加载时管理 UI 的状态。


推荐阅读