Flutter 如何在Flatter中为每个DropdownButton项显示图标和文本?

Flutter 如何在Flatter中为每个DropdownButton项显示图标和文本?,flutter,Flutter,我想为颤振中DropdownButton的每个DropdownMenuItem显示一行。我想在行中显示图标和文本 如果有人能帮我的话 我就是这样尝试的。我尝试为DropdownButton中的每个项目添加一行图标和文本 class _LoginPageState extends State<LoginPage> { Widget dropdownValue = Row( children: [Icon(Icons.star), Text("One&quo

我想为颤振中DropdownButton的每个DropdownMenuItem显示一行。我想在行中显示图标和文本

如果有人能帮我的话

我就是这样尝试的。我尝试为DropdownButton中的每个项目添加一行图标和文本

    class _LoginPageState extends State<LoginPage> {
  Widget dropdownValue = Row(
    children: [Icon(Icons.star), Text("One")],
  );

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      resizeToAvoidBottomPadding: false,
      body: Container(
        child: ListView(
          padding: EdgeInsets.all(20.0),
          children: [
            Padding(padding: EdgeInsets.all(displayHeight(context) * 0.02)),
            Center(
              child: Image(
                image: AssetImage('assets/images/sendmelogo.png'),
                height: displayHeight(context) * 0.07,
              ),
            ),
            Padding(padding: EdgeInsets.all(displayHeight(context) * 0.02)),
            Container(
              decoration: BoxDecoration(
                borderRadius: BorderRadius.circular(5),
                color: Colors.grey[200],
              ),
              // padding: EdgeInsets.fromLTRB(10.0, 0.0, 10.0, 0.0),
              padding: EdgeInsets.all(10.0),
              child: Row(
                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                children: [
                  Text("Sending to:", textAlign: TextAlign.start),
                  DropdownButton<Widget>(
                    value: dropdownValue,
                    icon: Icon(Icons.arrow_downward),
                    iconSize: 24,
                    elevation: 16,
                    style: TextStyle(color: Colors.deepPurple),
                    underline: Container(
                      height: 2,
                      color: Colors.deepPurpleAccent,
                    ),
                    onChanged: (Widget newValue) {
                      setState(() {
                        dropdownValue = newValue;
                      });
                    },
                    items: <Widget>[
                      Row(
                        children: [Icon(Icons.star), Text("One")],
                      ),
                      Row(
                        children: [Icon(Icons.plus_one), Text("Two")],
                      )
                    ].map<DropdownMenuItem<Widget>>((Widget value) {
                      return DropdownMenuItem<Widget>(
                        value: value,
                        child: Container(
                          child: value,
                        ),
                      );
                    }).toList(),
                  ),
                ],
              ),
            ),
class\u loginpagentate扩展状态{
窗口小部件下拉值=行(
子项:[图标(Icons.star),文本(“一”)],
);
@凌驾
小部件构建(构建上下文){
返回脚手架(
resizeToAvoidBottomPadding:false,
主体:容器(
子:ListView(
填充:所有边缘设置(20.0),
儿童:[
填充(填充:EdgeInsets.all(显示高度(上下文)*0.02)),
居中(
孩子:图像(
image:AssetImage('assets/images/sendmelogo.png'),
高度:显示高度(上下文)*0.07,
),
),
填充(填充:EdgeInsets.all(显示高度(上下文)*0.02)),
容器(
装饰:盒子装饰(
边界半径:边界半径。圆形(5),
颜色:颜色。灰色[200],
),
//填充:来自LTRB(10.0,0.0,10.0,0.0)的边缘设置,
填充:所有边缘设置(10.0),
孩子:排(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
Text(“发送到:”,textAlign:textAlign.start),
下拉按钮(
value:dropdownValue,
图标:图标(图标。向下箭头),
iconSize:24,
海拔:16,
样式:TextStyle(颜色:Colors.deepPurple),
下划线:容器(
身高:2,
颜色:颜色。深紫色,
),
onChanged:(小部件newValue){
设置状态(){
dropdownValue=newValue;
});
},
项目:[
划船(
子项:[图标(Icons.star),文本(“一”)],
),
划船(
子项:[图标(图标加上一个),文本(“两个”)],
)
].map((小部件值){
返回下拉菜单项(
价值:价值,
子:容器(
孩子:价值观,
),
);
}).toList(),
),
],
),
),
下拉按钮(
物品:['Hillary','Joe','Felix','Monica'].地图((姓名){
返回下拉菜单项(
值:name,
//您的排在这里:
孩子:排(
儿童:[
图标(Icons.person),
文本(名称),
],
),
);
}).toList(),
一旦更改:(选择名称){
//在这里做些动作
},
),

那么你尝试了什么吗?如果没有一些代码示例,很难帮助你。@JustCase我已经添加了我尝试的代码。请检查可能有什么错误。这里的“数据”是什么?它是一个示例。
数据是一个列表,在你的情况下,它可以是你的列表。你能再写一点代码吗?我还不能写我的代码。我想要要在下拉列表中的国家名称后显示国旗作为一个项目。我尝试了您的代码,但没有任何结果。我看到的唯一一件事是一个空的下拉按钮。没有错误,也没有功能。这是一个示例,请将
名称
列表替换到您的列表中。