Olá, Victor! Entendo que você está tendo alguns problemas com o Provider no Flutter. Vamos ver se consigo te ajudar.
O Provider é uma técnica de gerenciamento de estado recomendada pela equipe do Flutter. Ele é usado para compartilhar dados entre widgets que não estão diretamente conectados.
Se você está tendo problemas para salvar dados página por página, pode ser que você não esteja usando o Provider corretamente para compartilhar esses dados. Uma maneira comum de fazer isso seria criar um modelo de dados e um Provider para esse modelo.
Por exemplo, se você está criando um formulário de várias páginas, você pode ter um modelo de dados como este:
class FormData {
String pageOneData;
String pageTwoData;
// etc.
}
E um Provider para esse modelo:
class FormDataProvider with ChangeNotifier {
FormData _formData = FormData();
FormData get formData => _formData;
void savePageOneData(String data) {
_formData.pageOneData = data;
notifyListeners();
}
// Métodos similares para outras páginas...
}
Em cada página do seu formulário, você pode usar o Provider para acessar e modificar os dados do formulário:
final formDataProvider = Provider.of<FormDataProvider>(context, listen: false);
formDataProvider.savePageOneData(someData);
No final, quando todas as páginas tiverem sido preenchidas, você pode usar o Provider para acessar todos os dados do formulário e enviar para a sua API.
Espero que isso te dê uma ideia de como você pode usar o Provider para resolver o seu problema. Lembre-se, este é apenas um exemplo e pode precisar ser adaptado para se adequar ao seu caso específico.
Espero ter ajudado e bons estudos!