flutter - 颤振 ListView.builder 使 onPressed 仅适用于关注项
问题描述
我在 ListView.builder 中有一个卡片列表,每张卡片都有一个最喜欢的 IconButton,单击它会改变它的颜色,但是每当我点击它时,所有最喜欢的图标也会改变它们的颜色,我想处理关注的项目。谢谢。
bool isPressed = false;
.
.
.
onPressed: () {
setState(() {
isPressed = true;
});
}
解决方案
在您的项目中,您添加一个字段 isFavorite 作为 bool 类型。您更改 isFavorite 的值并根据 isFavorite 处理颜色。
onPressed: (value) {
setState(() {
productItem[index].isFavorite = value;
});
}
对于颜色部分,您将检查:
color: productItem[index].isFavorite?Colors.pinkAccent: Colors.grey,
推荐阅读
- javascript - 在 Javascript 中重用函数调用 [数据将重复孪生]
- java - 如果我关闭 Scanner,我是否必须关闭 FileInputStream
- github - 使用其他组织的操作
- android - 在 Android 应用上未检测到 Firebase 性能 SDK
- reactjs - 在单个 reducer 中调度多个动作或监听多个动作
- vue.js - 如何像这样定义 v-data-table 的页脚?
- dataweave - 如何在dataweave中减去两个数组
- java - ComponentScan 是否在我的 SpringMVC 项目中工作?
- vba - 在表中添加新记录时如何检查时间范围?
- python - 如何在 matplotlib 金融中保存烛台图