You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
3.2 KiB
101 lines
3.2 KiB
// Flutter imports:
|
|
import 'package:flutter/cupertino.dart';
|
|
import 'package:flutter/material.dart';
|
|
|
|
// Package imports:
|
|
import 'package:flutter_datetime_picker/flutter_datetime_picker.dart';
|
|
import 'package:flutter_icons/flutter_icons.dart';
|
|
import 'package:flutter_picker/flutter_picker.dart';
|
|
|
|
// Project imports:
|
|
import 'package:akuCommunity/base/base_style.dart';
|
|
import 'package:akuCommunity/utils/headers.dart';
|
|
|
|
class CommonSelect extends StatefulWidget {
|
|
final String title;
|
|
CommonSelect({Key key, this.title}) : super(key: key);
|
|
|
|
@override
|
|
_CommonSelectState createState() => _CommonSelectState();
|
|
}
|
|
|
|
class _CommonSelectState extends State<CommonSelect> {
|
|
String pickerData = '请选择';
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Container(
|
|
child: InkWell(
|
|
onTap: () {
|
|
switch (widget.title) {
|
|
case '时间':
|
|
DatePicker.showDatePicker(context,
|
|
showTitleActions: true,
|
|
minTime: DateTime(2020, 1, 1),
|
|
maxTime: DateTime(2020, 12, 31), onChanged: (date) {
|
|
print('change $date in time zone ' +
|
|
date.timeZoneOffset.inHours.toString());
|
|
}, onConfirm: (date) {
|
|
pickerData = date.toString().substring(0, 11);
|
|
setState(() {});
|
|
}, currentTime: DateTime.now(), locale: LocaleType.zh);
|
|
break;
|
|
case '证件类型':
|
|
Picker(
|
|
adapter: PickerDataAdapter<String>(
|
|
pickerdata: [
|
|
["身份证", "驾驶证", "护照"]
|
|
],
|
|
isArray: true,
|
|
),
|
|
changeToFirst: true,
|
|
hideHeader: false,
|
|
title: Text(
|
|
"证件类型",
|
|
style: TextStyle(
|
|
fontSize: 32.sp,
|
|
color: Color(0xff333333),
|
|
),
|
|
),
|
|
confirmTextStyle: TextStyle(
|
|
fontSize: 28.sp,
|
|
color: Color(0xffffc40c),
|
|
),
|
|
cancelTextStyle: TextStyle(
|
|
fontSize: 28.sp,
|
|
color: Color(0xff333333),
|
|
),
|
|
onConfirm: (Picker picker, List value) {
|
|
pickerData = picker.getSelectedValues()[0];
|
|
setState(() {});
|
|
print(value.toString());
|
|
print(picker.getSelectedValues());
|
|
}).showModal(context);
|
|
break;
|
|
default:
|
|
}
|
|
},
|
|
child: Container(
|
|
child: Row(
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
children: [
|
|
Text(
|
|
pickerData,
|
|
style: TextStyle(
|
|
fontSize: BaseStyle.fontSize36,
|
|
color: BaseStyle.color999999,
|
|
fontWeight: FontWeight.w600,
|
|
),
|
|
),
|
|
Icon(
|
|
AntDesign.right,
|
|
color: BaseStyle.color999999,
|
|
size: 32.w,
|
|
),
|
|
],
|
|
),
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|