我用Flutter编写的以下代码有问题。我正在尝试实现一个搜索栏,在该栏中我将根据匹配查询字符串显示结果。开头将变量isStorage设置为false。但是,当我尝试在_getALlPosts()中更新其值时,它没有得到更新。
class _HomeState extends State<Home> {
final SearchBarController<Post> _searchBarController = SearchBarController();
bool isReplay = false;
bool isStorage = false;
Future<List<Post>> _getALlPosts(String text) async {
await Future.delayed(Duration(seconds: text.length == 4 ? 2 : 1));
List<Post> posts = [];
var random = new Random();
if (text.contains("pha")) {
isStorage = true;
}
}
}
答案 0 :(得分:1)
您需要使用setState
来更新值:
if (text.contains("pha")) {
setState(() {
isStorage = true;
});
}
答案 1 :(得分:1)
我相信您会丢失包装isStorage = true;
的setState
setState(() {
isStorage = true;
});