You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mohemm-flutter-app/lib/widgets/dropdown/dropdow_field.dart

79 lines
2.0 KiB
Dart

import 'package:mohem_flutter_app/theme/colors.dart';
import 'package:mohem_flutter_app/utils/utils.dart';
import 'package:flutter/material.dart';
import 'package:mohem_flutter_app/theme/colors.dart';
import 'package:mohem_flutter_app/utils/utils.dart';
import '../txt.dart';
class DropdownField extends StatefulWidget {
String? hint;
List<String>? list;
DropdownField({this.hint, this.list});
@override
State<DropdownField> createState() => _DropdownFieldState();
}
class _DropdownFieldState extends State<DropdownField> {
String? dropdownValue;
@override
Widget build(BuildContext context) {
return Container(
decoration: containerColorRadiusBorderWidth(
Colors.transparent,
4,
borderColor,
0.5,
),
margin: EdgeInsets.all(2),
padding: EdgeInsets.only(left: 8, right: 8),
child: DropdownButton<String>(
value: dropdownValue,
icon: const Icon(Icons.keyboard_arrow_down_sharp),
elevation: 16,
iconSize: 16,
iconEnabledColor: borderColor,
iconDisabledColor: borderColor,
isExpanded: true,
style: const TextStyle(color: Colors.black),
hint: Txt(
widget.hint ?? "",
txtType: TxtType.heading1,
bold: false,
color: borderColor,
),
underline: Container(
height: 0,
),
onChanged: (String? newValue) {
setState(() {
dropdownValue = newValue!;
});
},
items: (widget.list ??
<String>[
'One',
'Two',
'Free',
'Four',
])
.map<DropdownMenuItem<String>>(
(String value) {
return DropdownMenuItem<String>(
value: value,
child: Txt(
value,
txtType: TxtType.heading1,
bold: false,
),
);
},
).toList(),
),
);
}
}