zoukankan      html  css  js  c++  java
  • StatefulWidget 有状态组件 、 页面上绑定数据、改变页面数据

    一、Flutter 中自定义有状态组件

    在 Flutter 中自定义组件其实就是一个类,这个类需要继承 StatelessWidget/StatefulWidget。
    StatelessWidget 是无状态组件,状态不可变的 widget
    StatefulWidget 是有状态组件,持有的状态可能在 widget 生命周期改变。通俗的讲:如果我们想改变页面中的数据的话这个时候就需要用到 StatefulWidget
     
    import 'package:flutter/material.dart';
    
    void main() => runApp(MyApp());
    
    class MyApp extends StatelessWidget {
      //Flutter2.2.0 之后需要注意把 Key 改为可空类型 {Key? key} 表示 key 为可空类型
      const MyApp({Key? key}) : super(key: key);
    
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
            home: Scaffold(
          appBar: AppBar(title: Text('有状态的组件')),
          body: HomePage(),
        ));
      }
    }
    
    class HomePage extends StatefulWidget {
      //Flutter2.2.0 之后需要注意把 Key 改为可空类型 {Key? key} 表示 key 为可空类型
      HomePage({Key? key}) : super(key: key);
    
      _HomePageState createState() => _HomePageState();
    }
    
    class _HomePageState extends State<HomePage> {
      int count = 0;
    
      @override
      Widget build(BuildContext context) {
        return Container(
            child: Column(
          children: <Widget>[
            Chip(label: Text("${this.count}")),
            RaisedButton(
              child: Text('增加'),
              onPressed: () {
                // print(this.count);
                setState(() {
                  this.count++;
                });
              },
            )
          ],
        ));
      }
    }
  • 相关阅读:
    Scrapy学习-7-数据存储至数据库
    Scrapy学习-6-JSON数据处理
    Scrapy学习-5-下载图片实例
    Scrapy学习-4-Items类&Pipelines类
    Scrapy学习-3-Request回调巧用
    Scrapy学习-2-xpath&css使用
    iTunes.exe 在win7系统中运行出错解决办法
    [转]手机浏览器的User-Agent汇总
    apple mobile device服务无法启动,错误1053 解决
    [转]EF 4.1 Code First
  • 原文地址:https://www.cnblogs.com/jiefangzhe/p/15521550.html
Copyright © 2011-2022 走看看