update focusnode and texteditingcontroller for autocomplete
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
This commit is contained in:
parent
95e3fb24f3
commit
7b5801920b
@ -253,15 +253,20 @@ class _ConnectionPageState extends State<ConnectionPage>
|
|||||||
TextEditingController fieldTextEditingController,
|
TextEditingController fieldTextEditingController,
|
||||||
FocusNode fieldFocusNode ,
|
FocusNode fieldFocusNode ,
|
||||||
VoidCallback onFieldSubmitted,
|
VoidCallback onFieldSubmitted,
|
||||||
|
|
||||||
) {
|
) {
|
||||||
|
fieldTextEditingController.text = _idController.text;
|
||||||
|
fieldFocusNode.addListener(() {
|
||||||
|
_idInputFocused.value = fieldFocusNode.hasFocus;
|
||||||
|
// select all to faciliate removing text, just following the behavior of address input of chrome
|
||||||
|
_idController.selection = TextSelection(
|
||||||
|
baseOffset: 0, extentOffset: _idController.value.text.length);
|
||||||
|
});
|
||||||
return Obx(() =>
|
return Obx(() =>
|
||||||
TextField(
|
TextField(
|
||||||
maxLength: 90,
|
maxLength: 90,
|
||||||
autocorrect: false,
|
autocorrect: false,
|
||||||
enableSuggestions: false,
|
enableSuggestions: false,
|
||||||
keyboardType: TextInputType.visiblePassword,
|
keyboardType: TextInputType.visiblePassword,
|
||||||
// focusNode: _idFocusNode,
|
|
||||||
focusNode: fieldFocusNode,
|
focusNode: fieldFocusNode,
|
||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
fontFamily: 'WorkSans',
|
fontFamily: 'WorkSans',
|
||||||
@ -278,11 +283,22 @@ class _ConnectionPageState extends State<ConnectionPage>
|
|||||||
: translate('Enter Remote ID'),
|
: translate('Enter Remote ID'),
|
||||||
contentPadding: const EdgeInsets.symmetric(
|
contentPadding: const EdgeInsets.symmetric(
|
||||||
horizontal: 15, vertical: 13)),
|
horizontal: 15, vertical: 13)),
|
||||||
// controller: _idController,
|
|
||||||
controller: fieldTextEditingController,
|
controller: fieldTextEditingController,
|
||||||
inputFormatters: [IDTextInputFormatter()],
|
inputFormatters: [IDTextInputFormatter()],
|
||||||
|
onChanged: (v) {
|
||||||
|
_idController.id = v;
|
||||||
|
},
|
||||||
onSubmitted: (s) {
|
onSubmitted: (s) {
|
||||||
|
if (s == '') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
final id = int.parse(s);
|
||||||
|
_idController.id = s;
|
||||||
onConnect();
|
onConnect();
|
||||||
|
} catch (_) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
));
|
));
|
||||||
},
|
},
|
||||||
@ -349,8 +365,10 @@ class _ConnectionPageState extends State<ConnectionPage>
|
|||||||
color: Theme.of(context).textTheme.titleLarge?.color?.withOpacity(0.6));
|
color: Theme.of(context).textTheme.titleLarge?.color?.withOpacity(0.6));
|
||||||
final child = GestureDetector(
|
final child = GestureDetector(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
setState(() {
|
||||||
_idController.id = peer.id;
|
_idController.id = peer.id;
|
||||||
onConnect();
|
FocusScope.of(context).unfocus();
|
||||||
|
});
|
||||||
},
|
},
|
||||||
child:
|
child:
|
||||||
Container(
|
Container(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user