#flutter
#трепетать
Вопрос:
Я совсем новичок в flutter и следую учебнику, пытаясь реализовать выпадающий виджет (код показан ниже) в своем приложении. Но каждый раз, когда я запускаю страницу, я получаю этот результат, произошло исключение. _TypeError (тип «Списокlt;Выпадающий списокgt;» не является подтипом типа » Списокlt;Выпадающий списокgt;lt;Выпадающий списокgt;?»)
Вот мой код
Widget selectDropdown( BuildContext context, Object initialValue, dynamic data, Function onChanged, { Function onValidate, } ) { return Align( alignment: Alignment.topLeft, child: Container( height: 75, width: 100, padding: const EdgeInsets.only(top: 5), child: DropdownButtonFormField( hint: const Text( "Select", style: TextStyle( color: Colors.white ) ), isDense: true, value: null, decoration: fieldDecoration(context, "", ""), onChanged: (VariableProduct newValue) { FocusScope.of(context).requestFocus(FocusNode()); onChanged(newValue); }, validator: (value) { return onValidate(value); }, items: data != null ? data.maplt;DropdownMenuItemlt;VariableProductgt;gt;( (VariableProduct data) { return DropdownMenuItemlt;VariableProductgt;( value: data, child: Text( data.attributes.first.option " " data.attributes.first.name, style: const TextStyle(color: Palette.backgroundColor) ), ); } ).toList() : null, ) ), ); }
Я буду рад, если мне смогут помочь. Спасибо
Комментарии:
1. Вы получаете эту ошибку, потому что вы передаете значение null в этом раскрывающемся списке, Переменный продукт равен нулю в момент инициализации списка.
2. Будет лучше, если вы инициализируете свое выпадающее значение в
initState()
3. Пожалуйста, не могли бы вы показать мне пример? Я новичок в флаттере. Спасибо
Ответ №1:
Добавьте параметр типа в поле dropdownbuttonform:
DropdownButtonFormFieldlt;VariableProductgt;