【问题标题】:What is the difference between onSubmitted and onEditingComplete in Flutter textField widget?Flutter textField 小部件中的 onSubmitted 和 onEditingComplete 有什么区别?
【发布时间】:2021-12-04 18:11:58
【问题描述】:

Flutter textField 小部件中的onSubmittedonEditingComplete 有什么区别?

我的意思是,onSubmitted 已经将用户输入的值传递给我们,我们可以在提交完成时使用该值。为什么需要onEditingComplete 属性?

我也遇到了this stackoverflow post

根据本帖置顶回答,onEditingComplete 用于判断用户提交数据后键盘是隐藏还是保留。如果是这种情况,为什么 Flutter 会飞速发展以拥有一个名为 onEditingCompleteACCEPTS A FUNCTION 属性?他们可以简单地拥有像hideKeyboardAfterEditing 这样的属性,它接受真或假。

(我可能已经理解了此处提到的 Stack Overflow 帖子错误。但这就是我的想法)

有人可以帮我理解一下吗?

谢谢

【问题讨论】:

    标签: flutter flutter2.0 flutter-text flutter-textinputfield flutter-textformfield


    【解决方案1】:

    两者在技术上是相同的,但onEditingComplete不会降低屏幕键盘(例如:聊天应用程序),onSubmitted 将降低屏幕键盘,另外onSubmitted 将返回文本字段值.

    【讨论】:

    • 感谢您的回复。我想向您澄清的一件事是,在我提到的 Stackoverflow 帖子的最佳答案中,他们提到了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)则不放弃焦点。
    猜你喜欢
    • 2020-12-20
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    • 2020-02-04
    • 1970-01-01
    • 2019-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多