How to handle stream list in flutter MVVM architecture?

Viewed 31

I have a list of values coming from my server and I want to display each of these values in a checkbox. I want a stream for each checkbox but I do not know the number of values which will come from the api. It can be any number. This is my code for view model class:

class SettingsViewModel extends BaseViewModel
    with SettingsViewModelInputs, ViewModelOutputs {
  
  final StreamController _deliverySettingCheckboxValue =
      StreamController<List<String>>.broadcast();


  @override
  void start() {
    settings();
  }

  @override
  void dispose() {
_deliverySettingCheckboxValue.dispose();
  }

  @override
  List<Stream<void>> get outputCheckboxValue =>
      _deliverySettingCheckboxValue.stream.map((checkBoxValue) => checkBoxValue);
  
}

abstract class SettingsViewModelInputs {
}

abstract class SettingsViewModelOutputs {

  List<Stream<void>> get outputCheckboxValue;
}

In the settings() method I make my api call and get the number of checkbox I wish to have in my screen. How do I handle the list of streams in this scenario?

0 Answers
Related