0
```{"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);
                            },
                          );
                        },
                      ),
                    ),```

4

0 回答 0