简述
在 Flutter
中,提供了 Form
组件用于表示表单,它可以对输入框进行分组,然后统一进行一些操作,可以进行数据校验,输入框重置等等。
从定义来看,Form
继承自 StatefulWidget
,它对应的状态类为 FormState
,先来看定义:
Form({
@required Widget child,
bool autovalidate = false,
WillPopCallback onWillPop,
VoidCallback onChanged,
})
autovalidate
—— 是否自动校验输入的内容,当为true
时,每一个子FormField
(下面讲)内容发生变化时都会自动校验合法性,并直接显示错误信息。否则需要通过调用FormState.validate()
来进行手动校验。onWillPop
—— 决定Form
所在的路由是否可以直接返回。onChanged
——Form
的任意一个子FormField
内容发生变化时会触发该回调。
FormField
Form
的子孙元素必须是 FormField
类型,它是一个抽象类,里面维护着几个属性&#x