【发布时间】:2019-11-23 21:26:12
【问题描述】:
点击时该值有效改变,但动画不显示:
这是我的代码:
var editGender = Padding(
padding: const EdgeInsets.only(top: 12.0),
child: Column(
children: <Widget>[
CheckboxListTile(
value: _male,
onChanged: _maleChanged,
title: Text("Male"),
activeColor: Theme.of(context).primaryColor,
),
CheckboxListTile(
value: _female,
onChanged: _femaleChanged,
title: Text("Female"),
activeColor: Theme.of(context).primaryColor,
)
],
),
);
点击编辑按钮时:
FlatButton(
onPressed: (){
buildShowRoundedModalBottomSheet(context, title, editGender, option);
},
child: Text('Edit'),
它显示了底页:
Future buildShowRoundedModalBottomSheet(BuildContext context, String title, Widget content,[String date]) {
return showRoundedModalBottomSheet(
context: context,
radius: 20.0,
builder: (context){
return Padding(
padding: const EdgeInsets.only(top: 20.0, bottom: 20.0, left: 20.0, right: 20.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Text(
title,
style: TextStyle(
fontFamily: 'SamsungSans',
fontSize: 20.0,
),
),
content,
...
我将相同的上下文传递给小部件:/
【问题讨论】:
-
您的底页(或其他任何东西)似乎没有在重建。
-
哦,是的,这是真的!所以我必须在
Builder小部件中的底部工作表? -
StatefulBuilder可能会更有帮助。 -
可能你的状态是由调用显示BottomSheet的类处理的。状态处于不同的上下文中,不会调用重建。
-
这很奇怪。我将相同的上下文传递到底部工作表。