Flutter AppBar使用组件多次

时间:2018-09-07 06:49:51

标签: components flutter appbar

我创建了Appbar组件并在每个内页中调用,现在当我尝试调用Future函数或设置状态时也需要在此处实现购物车动态计数的动态值,在这里也不起作用,由于状态,它给我错误我没有使用的小部件,如果有人有一个相同的示例,将是可理解的。

class AppBarComponent extends AppBar {

  final _formKey = new GlobalKey<FormState>();
  AppBarComponent({Key key})
: super(
key: key,
backgroundColor: Colors.greenAccent,
centerTitle: true,
title: Image.asset(
    'images/logo.png',
    width: 120.0,
    //height: 20.0,
    //fit: BoxFit.cover
),
actions: <Widget>[
  new IconButton(
    icon: Stack(
      children: <Widget>[
        Padding(
          padding: const EdgeInsets.only(right: 8.0,top: 4.0),
          child: Icon(Icons.shopping_cart,color: Colors.white,),
        ),
        Positioned(
          top: 0.0,
          right: 1.0,
          child: new Stack(
            children: <Widget>[
              Icon(Icons.brightness_1, size: 16.0, color: Colors.red[800]),
              Positioned(
                top: 1.0,
                right: 4.0,
                child: new Text("2",
                  style: new TextStyle(
                    color: Colors.white,
                    fontSize: 12.0,
                    fontWeight: FontWeight.w500)),
              )
            ],
          ),
        )
      ]
    )
  ),
],
  );
}

1 个答案:

答案 0 :(得分:1)

您可以通过构造函数传递类似totalCartItems的整数。
喜欢

AppBarComponent({Key key, int totalCartItems})

,稍后再使用

Positioned(
            top: 1.0,
            right: 4.0,
            child: new Text(totalCartItems.toString,
              style: new TextStyle(
                color: Colors.white,
                fontSize: 12.0,
                fontWeight: FontWeight.w500)),
          )

现在,如果您要在状态类中更新totalCartItems的状态,则状态也会反映在appBar中。
只需将单个实例更改为totalCartItems