Flutter textField 小部件中的 onSubmitted 和 onEditingComplete 有啥区别?
Posted
技术标签:
【中文标题】Flutter textField 小部件中的 onSubmitted 和 onEditingComplete 有啥区别?【英文标题】:What is the difference between onSubmitted and onEditingComplete in Flutter textField widget?Flutter textField 小部件中的 onSubmitted 和 onEditingComplete 有什么区别? 【发布时间】:2021-12-04 18:11:58 【问题描述】:Flutter textField
小部件中的onSubmitted
与onEditingComplete
有什么区别?
我的意思是,onSubmitted
已经将用户输入的值传递给我们,我们可以在提交完成时使用该值。为什么需要onEditingComplete
属性?
我也遇到了this *** post
根据本帖置顶回答,onEditingComplete
用于判断用户提交数据后键盘是隐藏还是保留。如果是这种情况,为什么 Flutter 会飞速发展以拥有一个名为 onEditingComplete
的 ACCEPTS A FUNCTION 属性?他们可以简单地拥有像hideKeyboardAfterEditing
这样的属性,它接受真或假。
(我可能已经理解了此处提到的 Stack Overflow 帖子错误。但这就是我的想法)
有人可以帮我理解一下吗?
谢谢
【问题讨论】:
【参考方案1】:两者在技术上是相同的,但onEditingComplete
将不会降低屏幕键盘(例如:聊天应用程序),onSubmitted
将降低屏幕键盘,另外onSubmitted
将返回文本字段值.
【讨论】:
感谢您的回复。我想向您澄清的一件事是,在我提到的 *** 帖子的最佳答案中,他们提到了But if we override the onEditingComplete callback to an empty function, it will stop the default behaviour and not hide the keyboard.
。这意味着只有当我们将一个空函数传递给onEditingComplete
属性时,才会保留软键盘。但是您的回答说软键盘始终存在。这对我来说似乎是一个冲突。你能帮我澄清一下吗?谢谢。
onSubmitted
肯定会将焦点转移到下一个小部件,但onEditingComplete
将根据操作以两种方式运行。 1. 完成动作(send、go、submit)然后放弃焦点。 2.非完成动作(next,previous)则不放弃焦点。以上是关于Flutter textField 小部件中的 onSubmitted 和 onEditingComplete 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Flutter TextField 小部件中垂直居中输入文本和后缀
如何在 Flutter 的同一屏幕上沿 ListView 显示小部件?