Я использую https://pub.dev/packages/multiselect_formfield в своем приложении. Как установить предварительно выбранные значения в этом виджете, то есть при создании виджета я должен был установить начальные выбранные значения.
Воткод для создания виджета:
List<Map<String, Object>> fieldQuestions = [];
for (var i = 0; i < question.fields.length; i++) {
Map<String, Object> map = HashMap<String, Object>();
map['display'] = question.fields[i].label;
map['value'] = question.fields[i].fieldId;
fieldQuestions.add(map);
}
return MultiSelect(
autovalidate: false,
fillColor: false,
titleText: question.question,
validator: (value) {
if (value == null) {
return 'Please select one or more option(s)';
} else {
return value;
}
},
errorText: 'Please select one or more option(s)',
dataSource: fieldQuestions,
textField: 'display',
valueField: 'value',
required: question.mandatory,
value: question.optionIds,
onSaved: (value) {
setState(() {
question.optionIds = value;
});
});
}
Вот объекты, которые я использую для создания виджета
question :
class HRAQuestion {
final String questionId;
final String question;
SelectedData selectedData;
final int fieldTypeId;
final String fieldTypeName;
final bool mandatory;
dynamic value;
int optionId;
List<dynamic> optionIds;
List<HRAQuestionField> fields;
List<HRAQuestion> questions;
}
question.fields:
class HRAQuestionField {
final String fieldId;
final String label;
final String value;
final String defaultvalue;
final int minrange;
final int maxrange;
final int customrule;
final String placeholder;
final String extrainformation;
final String unittype;
final String timedescription;
}
Все работает, но я не могу получить виджетиметь предварительно выбранные значения