Add keyboard listener to URLField

This commit is contained in:
Ye Min Naing
2024-03-06 17:07:18 +07:00
parent dbc1e7f036
commit 4c35edea0c

View File

@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:apidash/providers/providers.dart';
import 'package:apidash/widgets/widgets.dart';
@ -103,7 +104,19 @@ class _URLTextFieldState extends ConsumerState<URLTextField> {
@override
Widget build(BuildContext context) {
final activeId = ref.watch(activeIdStateProvider);
return URLField(
return Focus(
autofocus: true,
child: KeyboardListener(
focusNode: FocusNode(),
onKeyEvent: (KeyEvent event) {
if (event is KeyDownEvent &&
event.logicalKey == LogicalKeyboardKey.enter) {
ref
.read(collectionStateNotifierProvider.notifier)
.sendRequest(activeId);
}
},
child: URLField(
activeId: activeId!,
initialValue: ref
.read(collectionStateNotifierProvider.notifier)
@ -114,7 +127,8 @@ class _URLTextFieldState extends ConsumerState<URLTextField> {
.read(collectionStateNotifierProvider.notifier)
.update(activeId, url: value);
},
);
),
));
}
}