这是我的数据模型
class RoleModel {
int? id;
String? role;
RoleModel({this.id, this.role});
RoleModel.fromJson(Map<String, dynamic> json) {
id = json['id'];
role = json['role'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = id;
data['role'] = role;
return data;
}
}
这是我获取API数据的代码
List<RoleModel> roles = [];
Future<List<RoleModel>> getRoles() async {
try {
final response = await http
.get(Uri.parse('https://localhost:8000/roles'));
var data = jsonDecode(response.body.toString());
if (response.statusCode == 200) {
for (Map<String, dynamic> i in data) {
roles.add(RoleModel.fromJson(i));
}
return roles;
} else {
throw Exception('Failed to load roles:$response');
}
} catch (e) {
throw Exception('Failed due to: $e');
}
}
我怎样才能创建一个下拉按钮,它将有'id'作为值和'role'将显示为文本?
3条答案
按热度按时间nfzehxib1#
您可以使用下拉小部件的示例代码行下方的
niwlg2el2#
您可以像这样创建它
8dtrkrch3#
您还可以使用www.example.com上的自定义包创建下拉按钮pub.dev:
1.从[1]将最新版本的dropdown_button2添加到pubspec.yaml文件中:https://pub.dev/packages/dropdown_button2/install
1.从您的终端运行'flutter pub add dropdown_button2'这个命令。
1.添加'导入'包:下拉按钮2/下拉按钮2.dart ';这一行添加到代码页。
我收到了一个错误,因为http的网址现在无法访问。如果你尝试用一个新的网址,我认为这段代码将正常工作。