flutter - 如何根据 sqlite 数据库更改图标颜色?
问题描述
我创建了一个数据库,它包含一个收藏列表,我想获取该项目是否在收藏列表中的数据以将其呈现在屏幕上
icon: Icon ( await DBProvider.db
.searchFavItem(widget._items[index].idItem)
? Icons.favorite
: Icons.favorite_border),
但是,我收到一条错误消息“等待表达式只能在异步函数中使用。尝试用‘异步’或‘异步*’标记函数体。”
我不知道如何在这种语句中添加功能。非常感谢。
解决方案
要解决此问题,您需要先加载async
值,然后将该返回值传递给Icon Widget
,这是因为 的icon
属性Icon Widget
不async
期望值。因此,您将无法在await
此处使用。
一种方法是使用FutureBuilder
Widget,其他方法包括State Management
在数据加载时管理 UI 的状态。
推荐阅读
- java - 展开时如何在通知中获取圆形头像?
- javascript - 用于中间件函数调用的“任何类型值的不安全调用”
- process - 如何将 OS Process Sampler 的结果保存到变量中?
- javascript - 如何使用 JavaScript 变量更改 HTML 值?
- discord.js - Discord.js v13 将缓冲区作为附件发送会导致图像不可见
- r - 当PickerInput中的值更改时,我想在按钮上添加发光效果
- sql-server - 为什么 LINQ 生成的 SQL 包含同一列的多个“IS NULL”条件
- javascript - ResizableBox 不包装内容
- spring-boot - 如何强制 Quartz 在集群模式下顺序运行
- mysql - 获取按日期分组的计数(列)的平均值,但满足某些条件