我创建了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)),
)
],
),
)
]
)
),
],
);
}
答案 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
。