setSelectedOption method
Implementation
Future<bool> setSelectedOption(OptionModel? option) async {
if (option == null) return true;
// add/remove option on toggle
var checked = !selectedOptions.contains(option);
// set answer
bool ok = await answer(option.value, delete: !checked);
if (ok) {
// remove option
if (!checked && selectedOptions.contains(option)) selectedOptions.remove(option);
// insert option
if ( checked && !selectedOptions.contains(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;
}