#flutter #flutter-layout #flutter-dependencies
#трепетание #flutter-layout #flutter-зависимости
Вопрос:
Я использую Flutter Multiselect из official — flutter_multiselect: ^ 0.5.1 все работает нормально, но событие onSaved () не запускается после выбора / отмены выбора и нажатия кнопки сохранения в виджете MultiSelect. я просто хочу распечатать выбранный / отмененный элемент в консоли.
Примечание: я также пытаюсь получить событие через change (), оно работает, только если мы выбираем опцию, не работает при отмене выбора.
помогите мне решить эту проблему
Пример кода:
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(5.0),
),
alignment: Alignment.center,
child: new MultiSelect(
maxLength: 1,
maxLengthText: "",
autovalidate: false,
dataSource: countries,
textField: 'country_name',
valueField: 'country_id',
hintText: "Select Your Country",
initialValue: countryID,
value: countryID,
required: true,
validator: (value) {
if (value == null) {
return 'Please Select Country';
}
},
filterable: true,
change: (values) {
if (values != null) {
setState(() {
countryID = values.cast<String>();
getStatesByCountry();
});
}
//this event emitted while selecting option from multiselect
//not works on deselecting option from multiselect
},
onSaved: (value) {
debugPrint("on save event");
print(value);
//always not emitting
},
),
)
Ответ №1:
Поскольку я не вижу весь код, трудно сказать, но я бы предположил, что вы не сохраняете всю форму таким образом:
void _onFormSaved() {
final FormState form = _formKey.currentState;
form.save();
}
Я бы рекомендовал следовать этому оригинальному примеру
Надеюсь, это как-то поможет. Приветствия
Ответ №2:
я не знаю его правильного способа, но в моем случае просто очищенная сборка и переустановленный packge будут генерировать событие onchange при удалении элементов в multiselect, больше ничего не работает со мной