美文网首页
日更(四十二)- flutter-form表单

日更(四十二)- flutter-form表单

作者: Jlanglang | 来源:发表于2019-02-11 21:49 被阅读0次

瞎扯

新年上班第一天.

form表单

flutter不愧是个UI框架.
其实把它和ios android来比.是不能比的.
一个只是框架,ios和android是系统.还是不一样.
这点要想明白,

form这个概念,在安卓里面没有,在ios里应该也没有,在前端才有.

虽然android和ios都会写表单页面.但是没有一个专门的weight做这个事情

flutter不一样,专门提供了一个


weight

class Form extends StatefulWidget {
  /// Creates a container for form fields.
  ///
  /// The [child] argument must not be null.
  const Form({
    Key key,
    @required this.child,
    this.autovalidate = false,
    this.onWillPop,
    this.onChanged,
  }) : assert(child != null),
       super(key: key);

state

class FormState extends State<Form> {
  int _generation = 0;
  final Set<FormFieldState<dynamic>> _fields = Set<FormFieldState<dynamic>>();

  // Called when a form field has changed. This will cause all form fields
  // to rebuild, useful if form fields have interdependencies.
  void _fieldDidChange() {
    if (widget.onChanged != null)
      widget.onChanged();
    _forceRebuild();
  }

和前端十分类似.大致就是监听form下的每一个被TextFormField,FormField.包装的child.
也就是FormState的会add,每一个被FormField包装的weight.然后统一控制.

class FormField<T> extends StatefulWidget {
  /// Creates a single form field.
  ///
  /// The [builder] argument must not be null.
  const FormField({
    Key key,
    @required this.builder,
    this.onSaved, //保存规则
    this.validator, //校验规则
    this.initialValue, //初始化的值
    this.autovalidate = false, //自动校验
    this.enabled = true,
  }) : assert(builder != null),
       super(key: key);

这些其实和react很像,双向绑定,

总结:

form常用的方法.比如: reset 重置表单内容 , save 表单保存, validate触发校验.
FormField几乎每个方法都常用.


交流群:493180098,这是个很少吹水,交流学习的群.
APP开发维护咨询群 : 492685472 ,承接APP迭代.开发维护.咨询业务,付费快速解决问题.

相关文章

  • 日更(四十二)- flutter-form表单

    瞎扯 新年上班第一天. form表单 flutter不愧是个UI框架.其实把它和ios android来比.是不能...

  • Flutter-Form(表单)和 SnackBar(提示)

    我们可以使用flutter自带的Form组件完成表单的创建 SnackBar(提示)

  • 日更【四十二】

    熊瞎子沉默了一会儿,才开口问:“蛇先生在哪里?” 小兔子却没有告诉它蛇先生的位置。 它先是绕着熊瞎子蹦跶了一...

  • 【日更•四十二】宝宝

    五月二十七号出生的狗宝宝,拉近一看,还是像只大老鼠。 软萌可爱,活泼好动,拿在手里手舞足蹈的,一只手已经控制不住了...

  • 【Vue3+Vite+TS】13.0 组件十:强大的表单组件(上

    功能 可配置型表单,通过json对象的方式自动生成表单 具备更完善的功能:表单验证、自定义验证规则、动态删减表单、...

  • 日更四十二天

  • 日更四十二天

    很多时间管理法是首先要把事件,按照紧急和重要的程度来分别归类在四个象限。 尽量完成那些重要的事情,重要且紧急放在首...

  • 日更四十二天

    唐老师今天可算是露出点轻松的样子,昨天一天没有和我说话,我也跟着揪了一天的心,搞得我情绪及其低落。今天是吊瓶的第二...

  • 不吝啬

    今天是日更的第四十二天,申请简书创作者第二次被拒。所以,今天就允许自己down,允许自己为了更而更。 前段时间,每...

  • 14.《Angular响应式表单》

    一、使用响应式表单 Angular 的响应式表单能让实现响应式编程风格更容易,这种编程风格更倾向于在非 UI 的数...

网友评论

      本文标题:日更(四十二)- flutter-form表单

      本文链接:https://www.haomeiwen.com/subject/afmqeqtx.html