首页 > 解决方案 > Flutter 包含总是返回 true

问题描述

我可能会误解一些东西。

_thisEvent.eventKidsPayed 是一个包含 documentID 字符串的列表。kidsSnapshot.data.documents[index].documentID 会给我们一个字符串。

_thisEvent.eventKidsPayed 当前为 EMPTY,列表中没有任何内容。

bool _payed = false;
if (_thisEvent.eventKidsPayed.contains(kidsSnapshot
    .data.documents[index].documentID)) {
       _payed = true;
    }

它总是返回真实。为什么 ?

标签: flutter

解决方案


你需要使用setState来改变bool。按照下面的代码。您需要StatefulWidget用于使用setState.

bool _payed = false;
if (_thisEvent.eventKidsPayed.contains(kidsSnapshot
    .data.documents[index].documentID)) {

 setState(() {
  _payed = true;
 });
}

推荐阅读