【发布时间】:2018-08-31 23:42:40
【问题描述】:
我正在尝试使用ListView.builder 构建多个DropdownButton,次数与用户单击浮动操作按钮的次数一样多
new FloatingActionButton(
onPressed: () {
setState(() {
counter++;
});
},
child: new Icon(Icons.add),
)
new ListView.builder(
itemBuilder: (BuildContext context, int index) {
return buildfields(index); },
itemCount: counter,
scrollDirection: Axis.vertical,
)
new DropdownButton<String>(
onChanged: (String value) { setState((){
setUn();
_unit = value;
});
},
hint: new Text('Course Unit'),
value: _unit,
items: <String>["1", "2", "3", "4", "5"].map((String value) {
return new DropdownMenuItem<String>(
value: value,
child: new Text(value),
);
}).toList(),
)
问题是这样的,当用户生成多个DropdownButton 并选择一个值时,每个其他生成的DropdownButton 将其值更改为新选择的值。如何为每个生成的DropdownButton 设置唯一的 id?
【问题讨论】:
-
将值存储在列表或映射中,以便能够存储多个值。如果您只有一个变量 (
_unit) 并且所有下拉菜单都使用该变量,则它们都将显示相同的选定值。 -
@Günter,我是 Flutter 的新手,你能用 sn-p 指导我吗?