表单
Name | Desc |
---|---|
Form | 一个可选的、用于给多个TextField分组的widget |
FormField | 一个单独的表单字段。此widget维护表单字段的当前状态,以便在UI中直观地反映更新和验证错误。 |
RawKeyboardListener | 每当用户按下或释放键盘上的键时调用回调的widget。 |
Flutter中的Form和FormField都是用于处理表单的小部件,但它们的职责和功能是不同的。
Form
Form是一个表示表单的小部件,它可以包含多个FormField小部件。Form小部件通常用于将多个表单字段组合在一起,并提供表单验证、表单提交和表单重置等功能。Form小部件通过FormState对象与表单交互,可以访问和操作表单字段。
FormField
FormField是一个表示单个表单字段的小部件,它可以包含多种输入小部件,例如TextField、Checkbox、Radio等。FormField小部件通常用于处理表单验证和表单输入,它可以根据用户输入的不同情况显示相应的错误消息。FormField小部件通过GlobalKey对象与表单交互,可以访问和操作FormFieldState对象。
区别
Form和FormField的区别在于它们的职责和功能不同。Form用于表示整个表单,并提供表单验证、表单提交和表单重置等功能;FormField用于表示单个表单字段,并提供表单验证和表单输入功能。Form是一个包含多个FormField小部件的容器,而FormField则是一个包含单个输入小部件的容器。
联系
Form和FormField的联系在于它们都是用于处理表单的小部件,它们可以共同实现表单验证、表单输入等功能。在Flutter中,Form通常包含多个FormField小部件,每个FormField小部件代表一个表单字段。FormField小部件可以根据用户输入的不同情况显示相应的错误消息,并将输入的值保存到FormState对象中。FormState对象可以用于表单验证和表单提交等操作。因此,在使用Flutter处理表单时,Form和FormField通常会一起使用。