flutter - Flutter:将布尔值更改为 true onPressed
问题描述
我是 Flutter 的新手,不知道为什么我的布尔变量clickedLike没有变为 true。
我在我的 Column 之外声明它,在 StatefulWidget 类中使用初始值 false。
IconButton(
onPressed: () async {
setState(() {
likeColor = Colors.blue;
if (clickedLike == false) {
numLikes++;
FirebaseFirestore.instance
.collection('board')
.doc(docID)
.update({'likes': numLikes});
clickedLike = true;
} else {}
});
},
icon: Icon(Icons.thumb_up, color: likeColor)
//color: Colors.blue,
),
我省略了其余的子小部件,因为它们无关紧要。任何帮助,将不胜感激。谢谢。
解决方案
if (!clickedLike) {
numLikes++;
FirebaseFirestore.instance
.collection('board')
.doc(docID)
.update({'likes': numLikes});
clickedLike = !clickedLike;
}
尝试这个 ?
推荐阅读
- python - 程序总是返回 true
- augmented-reality - 将 .obj 或 .stl 转换为 .usdz 的最简单方法是什么?
- reactjs - React props 的两种使用方式的区别
- java - 使用循环而不是流(java9)
- python - 如何使 `cv2.imshow()` 窗口适合屏幕?
- angular - 无法从我的服务中获取数据到我的组件中
- python - 在 Python 中使用 for 循环提示有效输入?
- pandas - Pyarrow 用于镶木地板文件,还是只是熊猫?
- pandas - 非日期时间数据列表的未知字符串格式
- ruby-on-rails - MiniMagick 错误:如何使用 MiniMagick 生成 OG 图像