#flutter #dart #dropdownbutton
Вопрос:
Я создаю раскрывающееся меню в трепетание, но у меня есть проблема, когда я использую раскрывающийся список, он показывает имя первого элемента , но я хочу, чтобы изменить ее(по умолчанию) в категории и не пойму, как это сделать, также я попытался использовать подсказку(как вы видите в кодексах), но это не сработало. вот мои коды:
Container(
height: pageHeight / 15,
padding: EdgeInsets.all(20),
child:DropdownButton(
value: _value,
items: const [
DropdownMenuItem(
child: Text("First Item"),
value: 1,
),
DropdownMenuItem(
child: Text("Second Item"),
value: 2,
),
],
onChanged: (value) {
setState(() {
_value = value as int ;
});
},
hint:Text("Select item")
),
)
Я хочу изменить этот первый пункт на категории
Комментарии:
1. Не могли бы вы, пожалуйста, выразиться яснее?
2. поделитесь дополнительным кодом и что именно вы хотите
3. @ChinkySight хорошо, я отредактировал
Ответ №1:
Сделайте значение обнуляемым. DropdownButton
может иметь нулевое значение, и пока оно равно нулю, он покажет hint
виджет.
int? _value;
DropdownButton(
value: _value,
items: const [
DropdownMenuItem(
child: Text("First Item"),
value: 1,
),
DropdownMenuItem(
child: Text("Second Item"),
value: 2,
),
],
onChanged: (value) {
setState(() {
_value = value as int;
});
},
hint: Text("categories"),
),
Комментарии:
1. это верно, моя ценность была :
int? _value=1;
2. Да, у него было начальное значение 1, поэтому у вас всегда был выбран 1-й элемент.
Ответ №2:
Просто подпишитесь на initState()
Значение Selecteddropdown = «категории»;
Container(
height: pageHeight / 15,
padding: EdgeInsets.all(20),
child:DropdownButton(
value: _value,
items: const [
DropdownMenuItem(
child: Text("First Item"),
value: 1,
),
DropdownMenuItem(
child: Text("Second Item"),
value: 2,
),
],
value: selectedDropDownValue,
onChanged: (value) {
setState(() {
selectedDropDownValue = value;
});
},
hint:Text("Select item")
),
)