Как обновить состояния дочернего элемента из родительского компонента во флаттере? - PullRequest
1 голос
/ 27 апреля 2020

У меня есть родительский компонент, в который я продолжаю получать обновления набора данных для отображения. Что я должен постоянно показывать в нижней части страницы, если она открыта. Я могу отправить обновленные данные в StatefullWidget. Ниже приведен код получения данных в режиме реального времени каждую секунду, если нижняя таблица открыта.

class PositionDetailsModal extends StatefulWidget {
 NetPosition netPosition;
 PositionsState instance;

 PositionDetailsModal({this.instance, this.netPosition}) : super();

 setLatestUpdates(NetPosition netPositionLocal) {
 netPosition = netPositionLocal; 
  if(ApiProvider().positionDetailsModalState != null) {
  log("positionDetailsModalState :" + positionDetailsModalState.toString());
  // Once the State is set inside its init i am storing the instance of it in global field 
  // and calling this method to update the state.
  ApiProvider().positionDetailsModalState.updateChangesToUI(netPositionLocal);
   }
 }
@override
PositionDetailsModalState createState() => PositionDetailsModalState();
}

Но если я вызываю updateChangesToUI и делаю setState, то я получаю эту ошибку

setState () или markNeedsBuild (), вызываемые во время сборки

Можно ли каким-либо образом обновить значения в Bottomsheet, если и когда имеется обновление данных в родительском классе во флаттере?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...