【发布时间】:2019-06-10 16:20:52
【问题描述】:
BottomSheet 中是否存在无法更新小部件状态的限制?正如您在下面的示例中看到的那样,我使用的是 Switch,但它的显示没有改变,尽管值更新了,只是它不会再次重新渲染。
这现在是 StatefulWidget 的一部分。
我在使用 DropdownButton 小部件时遇到了同样的问题。这些都可以在正常页面中正常工作。
有人知道吗?
showModalBottomSheet(
context: context,
builder: (BuildContext context) {
return BottomSheet(
onClosing: () {},
builder: (BuildContext context) {
return Switch(
onChanged: (bool v) {
debugPrint('v is ${v.toString()}');
// b = v; <<-- This is also not working when using StatelessWidget
setState(() => b = v);
debugPrint(b.toString());
},
value: b,
);
},
);
},
);
【问题讨论】:
-
查看我对类似问题的回答:stackoverflow.com/a/56321614/6374527