我不能在这里使用未来布尔值。在这种情况下,有没有什么方法可以使用未来布尔值,或者有没有更好的方法?
Widget _buildRow(String pair) {
final Future<bool> alreadySaved = DBHelper.getAllEmployees().then((value) => value.contains(pair));
print("Already saved $alreadySaved");
print(pair);
return FutureBuilder(
future: DBHelper.getAllEmployees(),
builder: (context, AsyncSnapshot<List<FavrtTableModel>> snapshot) =>
snapshot.connectionState == ConnectionState.waiting ? Center(
child: Icon(Icons.more_horiz),
):IconButton(
icon: new Icon(
alreadySaved ? Icons.favorite : Icons.favorite_border,
color:alreadySaved? Colors.red : Colors.white,
),onPressed: (){
setState(() {
if (alreadySaved) {
_saved.remove(pair);
_deleteEmployee(pair);
} else {
_saved.add(pair);
_insert(pair);
}
});
},
),
);
}
1条答案
按热度按时间92dk7w1h1#
在
initState()
中使用,例如