flutter - Flutter - DropdownButton onChanged 不调用函数
问题描述
我有一个简单的 DropdownButton 元素和 onChange 事件。
onChanged: (String newValue) {
if (newValue == "Log out") {
print("Inside IF");
setState(){
user.navigateToPreviousPage(Login(), context, false);
}
}
},
但是从这里我只得到这个 print("Inside IF")... 它不会调用应该删除用户令牌并导航到登录页面的函数。此外,没有错误或警告...
这里有什么问题?我的整个班级都是无状态小部件。我应该将其更改为有状态吗?
解决方案
您以错误的方式调用 setState :
setState(){
user.navigateToPreviousPage(Login(), context, false);
}
正确方法:
setState(() {
user.navigateToPreviousPage(Login(), context, false);
});
而且您应该Navigator.pop
从要关闭的小部件中调用:)
推荐阅读
- java - 如何使用 RestTemplate 在自定义对象中发送 MultiPart
- java - 附加到 CipherOutputStream - AES/CTR/NoPadding (Java)
- python - 在 Python 类型提示中区分类和对象
- jasper-reports - 如何在列中水平对齐文本字段及其标签,从左到右和从上到下?
- nativescript - 如何在 NativeScript 的“before-prepare”-hook 中操作 projectIdentifiers/app 标识符
- gradle - 这是一个有效的 Gradle 增量 Zip 任务实现吗?
- javascript - 从我的网站,我怎样才能得到linkedin cookie 的JSESSIONID 值?
- c++ - 为未知长度/输入结构重载运算符>>()
- android - 将保存在数据库 sqlite 中的列表视图中的一行发送到另一个列表视图,并使其与第一个列表视图中的行相同
- php - 使用 JSON 和 PHP 更新 MySQL 数据库