0

我正在使用对象列表填充 DropDownButton。

列表朋友

[
   {
      "id":1,
      "name":"Name 1",
      "contact":"contact 1"
   },
   {
      "id":2,
      "name":"Name 2",
      "contact":"contact 2"
   },
   {
      "id":3,
      "name":"Name 3",
      "contact":"contact 3"
   }
]

DropDownButton 小部件

DropdownButton<String>(
        isExpanded: true,
        hint: Text("Select Friend"),
        value: listFriends[0].name,
        onChanged: (String? newValue) {},
        items: listFriends.map<DropdownMenuItem<String>>((Friend value) {
          return DropdownMenuItem<String>(
            value: value.name,
            child: CustomCard(
              child: Padding(
                padding: EdgeInsets.all(10),
                child: Column(
                  crossAxisAlignment: CrossAxisAlignment.stretch,
                  children: [
                    Center(child: Text(value.id,),),
                    Center(child: Text(value.name),),
                    Center(child: Text(value.contact),),
                  ],
                ),
              ),
            ),
          );
        }).toList(),
      ),

当下拉菜单展开时,它将显示一个包含朋友信息的卡片列表。问题是默认值

值:listFriends[0].name,

我分配了名称(我只想在下拉菜单未展开时显示名称),但这显示了我为 DropdownMenuItem 实现的卡。如何仅显示所选下拉值的朋友姓名,当它展开时,它应该显示卡片列表。

4

0 回答 0