Estou desenvolvendo um app no FlutterFlow e tenho a seguinte estrutura de telas:
Layout
- Este é o componente principal do meu APP, criei ele pensando em padronizar e facilitar o desenvolvimento do aplicativo, no mesmo tenho meus layouts fixos, ou seja, que sempre irão se repetir em qualquer tela do sistema, Header e NavBar. Abaixo do Header, adicionei um WidgetBuilder, que será o responsável por exibir as paginas da aplicação, como por exemplo: PurchaseRequestPage, DashboardPage e HomePage
PurchaseRequestPage
(Página principal) → Possui um Page State (isCreatePurchase
, do tipo booleano). Dentro desta página eu chamo o componente "Layout" e como o mesmo possui um WidgetBuilder, será no parâmetro dele que irei chamar os componentes abaixo.
layout_children_create_purchase
(Componente filho) → Exibe a tela de criação de solicitação de compra.layout_children_list_purchase
(Componente filho) → Exibe a listagem de solicitações de compra.
Funcionamento esperado:
Se
isCreatePurchase == true
, exibirlayout_children_create_purchase
.Se
isCreatePurchase == false
, exibirlayout_children_list_purchase
.Dentro de
layout_children_create_purchase
, há um botão de voltar que deve alterarisCreatePurchase
parafalse
, para que a tela de listagem seja exibida novamente.
Problema:
O layout_children_create_purchase
é um componente isolado, então ele não tem acesso direto ao Page State
. O FlutterFlow permite modificar apenas App State e Component State dentro de componentes filhos, mas eu preciso modificar um Page State
que pertence ao PurchaseRequestPage
.
Este problema seria facilmente resolvido se eu optasse por utilizar um App State, mas acredito que não seria correto, pois isCreatePurchase
está diretamente ligado ao comportamento desta página apenas, e não de todo meu aplicativo.