```{"Piece": "[{\"sno\":7,\"valueName\":\"3\",\"value\":\"200\"},{\"sno\":7,\"valueName\":\"3\",\"value\":\"200\"},{\"sno\":7,\"valueName\":\"3\",\"value\":\"200\"}]",
"Caret": "[{\"sno\":1,\"valueName\":\"18k\",\"value\":\"1000\"},{\"sno\":1,\"valueName\":\"18k\",\"value\":\"1000\"},{\"sno\":1,\"valueName\":\"18k\",\"value\":\"1000\"},{\"sno\":1,\"valueName\":\"18k\",\"value\":\"1000\"}]"
}```
我有来自服务器的 json 响应,如上所示。我想动态创建下拉按钮,以便在 json 中有多少个可用的键,如 'Caret' 和 'piece',它将创建相同的下拉列表,每个键都有自己的列表,我想在里面部署那个列表下拉。当我选择像'18k','22k'这样的任何valueName时,它会返回像'1000','2000'这样的值。请帮我。
我试过了...
Container(
padding: const EdgeInsets.fromLTRB(16.0, 16.0, 16.0, 0.0),
child: ListView.builder(
itemCount: data2.keys.length,
primary: false,
shrinkWrap: true,
itemBuilder: (context, i) {
List valueList;
List attributeNameList= List();
data2.forEach((key, value) {attributeNameList.add(key);valueList=jsonDecode(value);});
return DropdownButton<dynamic>(
items: valueList.map((map) {
return DropdownMenuItem(
child: Text(map['valueName']),
value: map['value'],
);
}).toList(),
onChanged: (value) {
print(value);
},
);
},
),
),```