diff --git a/lib/src/channel_list_view.dart b/lib/src/channel_list_view.dart index 61b557b6..231e1ba9 100644 --- a/lib/src/channel_list_view.dart +++ b/lib/src/channel_list_view.dart @@ -352,10 +352,9 @@ class _ChannelListViewState extends State void initState() { super.initState(); - final channelsBloc = ChannelsBloc.of(context); - WidgetsBinding.instance.addObserver(this); + final channelsBloc = ChannelsBloc.of(context); channelsBloc.queryChannels( filter: widget.filter, sortOptions: widget.sort, @@ -390,6 +389,24 @@ class _ChannelListViewState extends State }); } + @override + void didUpdateWidget(ChannelListView oldWidget) { + super.didUpdateWidget(oldWidget); + + if (widget.filter != oldWidget.filter || + widget.sort != oldWidget.sort || + widget.pagination != oldWidget.pagination || + widget.options != oldWidget.options) { + final channelsBloc = ChannelsBloc.of(context); + channelsBloc.queryChannels( + filter: widget.filter, + sortOptions: widget.sort, + paginationParams: widget.pagination, + options: widget.options, + ); + } + } + @override void dispose() { WidgetsBinding.instance.removeObserver(this);