首页 > 解决方案 > 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,
                  ),

我省略了其余的子小部件,因为它们无关紧要。任何帮助,将不胜感激。谢谢。

标签: flutterdartboolean

解决方案


if (!clickedLike) {
                        numLikes++;
                        FirebaseFirestore.instance
                            .collection('board')
                            .doc(docID)
                            .update({'likes': numLikes});
                        clickedLike = !clickedLike;
                      }

尝试这个 ?


推荐阅读