【问题标题】:Flutter: Changing boolean value to true onPressedFlutter:将布尔值更改为 true onPressed
【发布时间】:2021-03-29 04:52:29
【问题描述】:

我是 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,
                  ),

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

【问题讨论】:

  • 在我看来 clickedLike 不是布尔值。在您的代码中,您正在比较 clickedLike == 0 和 clickedLike++。不是int吗?
  • @ObjectJosh 已更改它以反映我当前的代码 - clickedLike 是一个布尔值

标签: flutter dart boolean


【解决方案1】:
if (!clickedLike) {
                        numLikes++;
                        FirebaseFirestore.instance
                            .collection('board')
                            .doc(docID)
                            .update({'likes': numLikes});
                        clickedLike = !clickedLike;
                      }

试试这个?

【讨论】:

    猜你喜欢
    • 2015-10-07
    • 2021-06-09
    • 1970-01-01
    • 2021-06-05
    • 2016-02-29
    • 1970-01-01
    • 2023-01-27
    • 1970-01-01
    • 2019-03-20
    相关资源
    最近更新 更多