dialog tab order
Signed-off-by: 21pages <pages21@163.com>
This commit is contained in:
parent
cc0f4509a7
commit
d793fa64a3
@ -613,8 +613,9 @@ class CustomAlertDialog extends StatelessWidget {
|
|||||||
Future.delayed(Duration.zero, () {
|
Future.delayed(Duration.zero, () {
|
||||||
if (!focusNode.hasFocus) focusNode.requestFocus();
|
if (!focusNode.hasFocus) focusNode.requestFocus();
|
||||||
});
|
});
|
||||||
return Focus(
|
FocusScopeNode scopeNode = FocusScopeNode();
|
||||||
focusNode: focusNode,
|
return FocusScope(
|
||||||
|
node: scopeNode,
|
||||||
autofocus: true,
|
autofocus: true,
|
||||||
onKey: (node, key) {
|
onKey: (node, key) {
|
||||||
if (key.logicalKey == LogicalKeyboardKey.escape) {
|
if (key.logicalKey == LogicalKeyboardKey.escape) {
|
||||||
@ -626,6 +627,11 @@ class CustomAlertDialog extends StatelessWidget {
|
|||||||
key.logicalKey == LogicalKeyboardKey.enter) {
|
key.logicalKey == LogicalKeyboardKey.enter) {
|
||||||
if (key is RawKeyDownEvent) onSubmit?.call();
|
if (key is RawKeyDownEvent) onSubmit?.call();
|
||||||
return KeyEventResult.handled;
|
return KeyEventResult.handled;
|
||||||
|
} else if (key.logicalKey == LogicalKeyboardKey.tab) {
|
||||||
|
if (key is RawKeyDownEvent) {
|
||||||
|
scopeNode.nextFocus();
|
||||||
|
}
|
||||||
|
return KeyEventResult.handled;
|
||||||
}
|
}
|
||||||
return KeyEventResult.ignored;
|
return KeyEventResult.ignored;
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user