我有两个页面:HomePage和DetailsPage以及关联的GetxControllers。
主页:
class HomePage extends GetView<HomeController> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('HomePage')),
body: Container(
child: Obx(
() => ListView.builder(
itemCount: controller.task.length,
itemBuilder: (context, index) {
return ListTile(
leading: Text('${index + 1}'),
title: Text(controller.task[index]["name"]),
onTap: () {
Get.to(
DetailsPage(),
arguments: controller.task[index]["name"],
);
},
);
},
),
),
),
);
}
}
Run Code Online (Sandbox Code Playgroud)
家庭控制器:
class HomeController extends GetxController {
final TaskRepository repository;
HomeController({@required this.repository}) : assert(repository != null);
final _task …Run Code Online (Sandbox Code Playgroud) 我正在尝试发出put请求以使用GetConnect更新用户配置文件。用户个人资料采用一些普通的 JSON 字段和一个用于个人资料图片的MultipartFile 。
这是我的ProfileProvider类:
class ProfileProvider extends GetConnect {
Future<ProfileModel> updateProfile({
String name,
String email,
String address,
File avatar,
}) async {
final headers = {
"Authorization": "Bearer $token",
"Content-Type": "application/json",
"Accept": "application/json",
};
String fileName = avatar.path.split("/").last;
final form = FormData({
"name": name,
"email": email,
"address": address,
"avatar": MultipartFile(avatar, filename: fileName),
});
final response = await put(url, form, headers: headers);
if (response.statusCode == 200) {
final profileModel = ProfileModel.fromJson(response.bodyString);
return profileModel;
} …Run Code Online (Sandbox Code Playgroud)