setSelectedOption method

Future<bool> setSelectedOption(
  1. OptionModel? option
)

Implementation

Future<bool> setSelectedOption(OptionModel? option) async {
  if (option == null) return true;

  // set answer
  bool ok =
      await answer(option.value, delete: selectedOptions.contains(option));
  if (ok) {
    // check/uncheck
    selectedOptions.contains(option)
        ? selectedOptions.remove(option)
        : selectedOptions.add(option);

    // set data
    List<dynamic> data = [];
    for (var option in selectedOptions) {
      if (option.data != null) data.add(option.data);
    }
    this.data = data;

    // fire onchange
    await onChange(context);
  }
  return ok;
}