首页 > 解决方案 > 使用提示时,Flutter DropdownButton 不显示值

问题描述

我有一个 AlertDialog 并想使用 DropdownButton 来更改值。起初应该有可见的提示。选择一个值后,该值应该是可见的。但是当我使用提示时,它永远不会显示值,反之亦然。

DropdownButton(
     items: <String>['team1','team2'].map((String val) => DropdownMenuItem<String>(
    value: val,
    child: Text(val),
   )).toList(),
  //value: 'team1',
    hint: Text('Enter team'),
    
    onChanged: (value) {
      teteam.text = value;
    }
                ),

它具有正确的功能,但可见性并不像我期望的那样。

标签: flutter

解决方案


您必须使用setState,因为您想更改应用程序的 UI。只需更改onchanged

onChanged: (value) {
              setState(() {
                teteam.text = value;
              });
            },
..

工作示例在这里: https ://www.developerlibs.com/2019/09/flutter-drop-down-menu-list-example.html

来自库的 setState: https ://api.flutter.dev/flutter/widgets/State/setState.html

编辑:

我假设您正在尝试setState在不可变(无法更改)的无状态小部件中使用。

使用有状态小部件来执行此操作,如下所示:

class AddTodoDialog extends StatefulWidget{
  AddTodoDialog createState()=> AddTodoDialog();
}

class AddTodoDialog extends State<AddTodoDialog>{
 //Your code here
}

推荐阅读