Flutter 下拉按钮初始值在屏幕上未改变

bbuxkriu  于 2022-11-17  发布在  Flutter
关注(0)|答案(2)|浏览(126)

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

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**
             });
          },
        ),
5ssjco0h

5ssjco0h1#

您的问题似乎与声明dropdownvalue和items列表的方式有关。
请检查这个dartpad。在这里我使用你的代码与一些修改的声明项目列表和dropdownvalue。
https://dartpad.dev/?id=33ef41ea7fa95613fe1a498e4dac4bcc

fd3cxomn

fd3cxomn2#

您必须使用stateFul小部件,并将: dropdownvalue之类的变量放在全局变量中,它的含义在

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

我也遇到过同样的问题,就这样解决了。

相关问题