Вы можете использовать Flutter StatefulBuilder
, чтобы обернуть ваш ModalBottomSheet следующим образом:
showModalBottomSheet(
context: context,
builder: (context) {
return StatefulBuilder(
builder: (BuildContext context, StateSetter setState /*You can rename this!*/) {
return Container(
height: heightOfModalBottomSheet,
child: RaisedButton(onPressed: () {
setState(() {
heightOfModalBottomSheet += 10;
});
}),
);
});
});
Обратите внимание, что новый setState
переопределит ваш основной виджет setState
, но вы можете просто переименовать его такВы сможете установить состояние вашего родительского виджета и модального
//This sets modal state
setModalState(() {
heightOfModalBottomSheet += 10;
});
//This sets parent widget state
setState(() {
heightOfModalBottomSheet += 10;
});