颤振下拉按钮初始值在屏幕上不会更改



我有下拉按钮和项目的动态列表,这是完美的工作。我可以显示所有的列表项目,但当我选择某人我的值不会改变在屏幕上。只是条目。第一次写入不会更改为所选择的。当我在终端上检查时,我可以看到所选的项目,所以set state方法有效,但initialvalue没有改变。

my下拉按钮

String dropdownvalue = entry.first;  
var items =entry;
DropdownButton(

// Initial Value
value: dropdownvalue,

// Down Arrow Icon
icon: const Icon(Icons.keyboard_arrow_down),   

// Array list of items
items: items.map((dynamic items) {
return DropdownMenuItem(
value: items,
child: Text(items),
);
}).toList(),
// After selecting the desired option,it will
// change button value to selected value
onChanged: (dynamic newvalue) {
setState(() {
dropdownvalue = newvalue; > **this not working**
print(dropdownvalue); > **it gives the newvalue**
});
},
),

看来你的问题与你如何声明dropdownvalue和items列表的方式有关。

请检查这个飞镖。在这里,我使用您的代码,并对items列表和dropdownvalue的声明进行了一些修改。

https://dartpad.dev/?id=33ef41ea7fa95613fe1a498e4dac4bcc

您必须使用stateFul小部件并将变量(如: dropdownvalue)放在全局变量中这意味着在

class _MyAppState extends State<MyApp> {
...
}

我遇到了同样的问题,并像那样解决了它。

相关内容

  • 没有找到相关文章

最新更新