fix app text field custom

merge-requests/773/head^2
Mohammad Aljammal 3 years ago
parent 1429a59138
commit 3b6fcb4240

@ -324,6 +324,7 @@ class _UpdateSubjectivePageState extends State<UpdateSubjectivePage> {
addSubjectiveInfo(
{SOAPViewModel model, List<MySelectedAllergy> myAllergiesList, List<MySelectedHistory> myHistoryList}) async {
FocusScope.of(context).unfocus();
widget.changeLoadingState(true);
formKey.currentState.save();
formKey.currentState.validate();

@ -27,6 +27,7 @@ class AppTextFieldCustom extends StatefulWidget {
final String validationError;
final bool isPrscription;
final bool isSecure;
final bool focus;
AppTextFieldCustom({
this.height = 0,
@ -47,6 +48,7 @@ class AppTextFieldCustom extends StatefulWidget {
this.validationError,
this.isPrscription = false,
this.isSecure = false,
this.focus = false,
});
@override
@ -54,6 +56,32 @@ class AppTextFieldCustom extends StatefulWidget {
}
class _AppTextFieldCustomState extends State<AppTextFieldCustom> {
final FocusNode _focusNode = FocusNode();
bool focus = false;
bool view = false;
@override
void initState() {
super.initState();
_focusNode.addListener(() {
setState(() {
focus = _focusNode.hasFocus;
});
});
}
@override
void didUpdateWidget(AppTextFieldCustom oldWidget) {
if (widget.focus) _focusNode.requestFocus();
super.didUpdateWidget(oldWidget);
}
@override
void dispose() {
_focusNode.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
@ -104,10 +132,11 @@ class _AppTextFieldCustomState extends State<AppTextFieldCustom> {
widget.height != 0 && widget.maxLines == 1
? widget.height - 22
: null,
child: TextField(
child: TextFormField(
textAlign: projectViewModel.isArabic
? TextAlign.right
: TextAlign.left,
focusNode: _focusNode,
decoration: TextFieldsUtils
.textFieldSelectorDecoration(
widget.hintText, null, true),
@ -129,7 +158,7 @@ class _AppTextFieldCustomState extends State<AppTextFieldCustom> {
? widget.inputFormatters
: [],
onChanged: (value) {
setState(() {});
// setState(() {});
if (widget.onChanged != null) {
widget.onChanged(value);
}
@ -162,9 +191,10 @@ class _AppTextFieldCustomState extends State<AppTextFieldCustom> {
),
),
),
if (widget.validationError != null)
if (widget.validationError != null && widget.validationError.isNotEmpty)
TextFieldsError(error: widget.validationError),
],
);
}
}

Loading…
Cancel
Save