我有一个返回 showModalBottomSheet 的小部件,它位于 void 内部。我在 initState 类中调用它。但是当我使用 setState 更改 showModalBottomSheet 中的值时,即使值更改也不会显示。
initState()
@override
void initState() {
Future.delayed(Duration.zero, () {
showModal();
});
super.initState();
}
showModalBottomSheet 无效
void showModal() {
showModalBottomSheet<void>(
isDismissible: false,
context: context,
builder: (BuildContext context) {
return SingleChildScrollView(
我正在改变价值
child: GestureDetector(
child: Container(
decoration: BoxDecoration(
border: Border.all(color: Colors.black),
color: color,
borderRadius: BorderRadius.circular(50.0),
),
height: MediaQuery.of(context).size.width / 10,
width: MediaQuery.of(context).size.width / 10,
),
onTap: () => showModalBottomSheet(
context: context,
builder: (_) {
return Container(
height: 300,
child: ColorPickerWidget(this.callbackColor),
);
}),
),
void callbackColor(Color color) {
setState(() {
this.color = color;
});
}