我尝试覆盖按enter
时新行的默认行为。我能够捕获键事件,但它仍然默认为添加新行。想法是在enter
键上执行函数。
下面是捕获enter
键的代码
RawKeyboardListener(
child: EditableText(
style: const TextStyle(
fontSize: 16,
),
backgroundCursorColor: Colors.black,
controller: widget.controller,
cursorColor: Colors.black,
focusNode: widget.focusNode,
maxLines: null,
),
focusNode: FocusNode(),
onKey: (RawKeyEvent event) {
if (event.isKeyPressed(LogicalKeyboardKey.enter)) //Enter Key ID from keyboard
{
print("Enter is pressed");
}
},
),
1条答案
按热度按时间wnavrhmk1#
在不知道要完成什么的情况下,有一种方法可以让多行
TextField
在按Enter键时不创建新行,然后可以监听onEditingComplete
或onSubmitted
: