DiscoverModule/lib/ui_screen/interactionform/widget/interatciontextfield.dart

66 lines
1.7 KiB
Dart
Raw Normal View History

2024-05-20 10:29:02 +00:00
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
// ignore: must_be_immutable
class InteractionTextField extends StatelessWidget {
String labelText;
TextEditingController controller;
String? hintText;
IconButton? suffixIcon;
bool? enabled = true;
bool? obscure = false;
Function onChanged;
TextInputType? inputType;
int? maxchars = 0;
int? maxlines = 1;
int? minlines = 0;
InteractionTextField(
{super.key,
required this.controller,
this.hintText,
required this.labelText,
this.suffixIcon,
this.enabled,
this.maxchars,
this.maxlines,
this.inputType,
this.minlines,
required this.onChanged,
this.obscure});
@override
Widget build(BuildContext context) {
return TextField(
controller: controller,
style: const TextStyle(fontSize: 16),
enabled: enabled,
obscureText: obscure ?? false,
onTap: () {},
maxLines: maxlines ?? 1,
minLines: minlines,
keyboardType: inputType ?? TextInputType.name,
onChanged: (value) {
onChanged(value);
},
inputFormatters: [
inputType == TextInputType.number
? FilteringTextInputFormatter.digitsOnly
: maxchars == 0
? LengthLimitingTextInputFormatter(100)
: LengthLimitingTextInputFormatter(maxchars),
],
decoration: InputDecoration(
isDense: true,
// contentPadding: EdgeInsets.all(11.0),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(10.0),
),
suffixIcon: suffixIcon,
hintText: hintText,
),
);
}
}