flutter-tutorials icon indicating copy to clipboard operation
flutter-tutorials copied to clipboard

Is there any way to use viewModel in didUpdateWidget?

Open AsheKR opened this issue 2 years ago • 1 comments

When the arguments received from the widget changed, we wanted to clear the existing listener for the pagingController and populate a new one. How can i do this?

@override
void didUpdateWidget(convariant MyWidget oldWidget) {
  super.didUpdateWidget(oldWidget);
  
  if (oldWidget.path != widget.path) {
    _pagingController.removePageRequestListener(_pageRequestListener!);
    _pageRequestListener = null;

    _pageRequestListener = (pageKey) async {
      // This is where we use viewModel.
    }

    _pagingController.addPageRequestListener(_pageRequestListener!);
    _pagingController.refresh();
  }
}

AsheKR avatar Apr 02 '23 07:04 AsheKR

@AsheKR we've never had this requirement so it's not built into Stacked at the moment. This came up a few times in different ways. For instance getting life cycle callbacks in the viewmodel.

I'll add this to the list of features but right now we have nothing to facilitate this.

FilledStacks avatar Apr 10 '23 15:04 FilledStacks