zoukankan      html  css  js  c++  java
  • 9-5&9-6创建组件,使用组件

    button就可以是一个组件。
    组件也可以大到页面的一个区域。flutter里面组件是由widget组成的
    创建widget的包


    组件继承stateless还是Stateful。根据组件有没有需要交互的部分

    比如这里就是用来纯展示的


    之类的搜索栏有交互的部分。所以这种的就需要stateful


    继承Stateless必须重写build方法

    传入的数据定义为GridNavModel,然后创建构造方法。

    表示我们的参数是必须的。如果不用@required的话 那么参数就不是必须的。

    例如给参数加默认值,就可以这么去写

    为什么属性必须用final来修饰了

    这两个属性都用final标识了

    如果这里我们不用final来标识

    这个时候底部有个报错。上面会有提示。


    因为我们的组件是Stateless的。StatelesWidget又继承了Widget

    wdget上面有一个注解,这个注解告诉我们widget以及它的组件都是不可变的。

    所以说它的子类里面,成员变量必须是final类型的。这就是组件里面参数必须要用final修饰的原因。

    重写build方法



    如果我们的类继承的是Stateful的话 还需为我们的组件设置state的状态类。





    初始化好了

    调用组件

    首先导入包


    把组件放在两个Container之间

    组件获取到传递过来的参数


    显示了jack


    把组件改成StateLess





    不传name显示xiaoming

    回顾



     

    结束

  • 相关阅读:
    main方法为什么一定是Public static void
    DOS下编译运行小应用程序
    HelloWorld
    MySQL INFORMATION_SCHEMA 使用(转)
    MySQL int(M)的意义(转)
    Mysql 字符串类型及大小写
    使用Zookeeper 实现选主从或者分布式锁
    记一次CountDownLatch引发的问题
    Mysql恢复部分数据
    记一次Java内存性能分析
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/12207229.html
Copyright © 2011-2022 走看看