|
|
|
@ -2,6 +2,7 @@ import 'package:cached_network_image/cached_network_image.dart'; |
|
|
|
import 'package:flutter/material.dart'; |
|
|
|
import 'package:flutter/cupertino.dart'; |
|
|
|
import 'package:dating_touchme_app/generated/assets.dart'; |
|
|
|
import 'package:flutter/services.dart'; |
|
|
|
import 'package:flutter_screenutil/flutter_screenutil.dart'; |
|
|
|
import 'package:get/get.dart'; |
|
|
|
import 'package:dating_touchme_app/controller/mine/user_info_controller.dart'; |
|
|
|
@ -73,10 +74,10 @@ class UserInfoPage extends StatelessWidget { |
|
|
|
} |
|
|
|
|
|
|
|
// 显示学历选择弹框 |
|
|
|
void _showEducationPicker(UserInfoController controller) { |
|
|
|
Future _showEducationPicker(UserInfoController controller) async { |
|
|
|
final List<String> educationOptions = ['大专以下', '大专', '本科', '硕士及以上']; |
|
|
|
|
|
|
|
showModalBottomSheet( |
|
|
|
await showModalBottomSheet( |
|
|
|
context: Get.context!, |
|
|
|
shape: const RoundedRectangleBorder( |
|
|
|
borderRadius: BorderRadius.only( |
|
|
|
@ -163,7 +164,7 @@ class UserInfoPage extends StatelessWidget { |
|
|
|
} |
|
|
|
|
|
|
|
// 显示日期选择器 |
|
|
|
void _showDatePicker(UserInfoController controller) { |
|
|
|
Future _showDatePicker(UserInfoController controller) async { |
|
|
|
// 计算最小和最大日期 |
|
|
|
final now = DateTime.now(); |
|
|
|
final maxDate = DateTime(now.year - 18); // 最小18岁 |
|
|
|
@ -192,7 +193,7 @@ class UserInfoPage extends StatelessWidget { |
|
|
|
// 临时存储选择的日期 |
|
|
|
DateTime? selectedDate = initialDate; |
|
|
|
|
|
|
|
showCupertinoModalPopup( |
|
|
|
await showCupertinoModalPopup( |
|
|
|
context: Get.context!, |
|
|
|
builder: (BuildContext context) { |
|
|
|
return Container( |
|
|
|
@ -249,6 +250,7 @@ class UserInfoPage extends StatelessWidget { |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
final FocusNode _blankFocusNode = FocusNode(); |
|
|
|
@override |
|
|
|
Widget build(BuildContext context) { |
|
|
|
return GetX<UserInfoController>( |
|
|
|
@ -455,9 +457,10 @@ class UserInfoPage extends StatelessWidget { |
|
|
|
), |
|
|
|
const SizedBox(height: 10), |
|
|
|
GestureDetector( |
|
|
|
onTap: () { |
|
|
|
onTap: () async { |
|
|
|
FocusScope.of(context).requestFocus(_blankFocusNode); |
|
|
|
// 显示Cupertino日期选择器 |
|
|
|
_showDatePicker(controller); |
|
|
|
await _showDatePicker(controller); |
|
|
|
}, |
|
|
|
child: Container( |
|
|
|
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 14), |
|
|
|
@ -499,9 +502,10 @@ class UserInfoPage extends StatelessWidget { |
|
|
|
), |
|
|
|
const SizedBox(height: 10), |
|
|
|
GestureDetector( |
|
|
|
onTap: () { |
|
|
|
onTap: () async { |
|
|
|
FocusScope.of(context).requestFocus(_blankFocusNode); |
|
|
|
// 显示学历选择弹框 |
|
|
|
_showEducationPicker(controller); |
|
|
|
await _showEducationPicker(controller); |
|
|
|
}, |
|
|
|
child: Container( |
|
|
|
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 14), |
|
|
|
|