如何解决如何在Flutter中将徽章添加到BottomNavigationBarItem?
NotSerializableException
我想将徽章添加到MyCart图标,我看到Stack用于BottomNavigationBar的图标,如下所示:
BottomNavigationBar(
items: const <BottomNavigationBarItem>[
BottomNavigationBarItem(
icon: Icon(Icons.shopping_cart),label: 'MyCart',),.
.
.
])
但是当我使用它时,出现此错误:
new BottomNavigationBarItem(
title: new Text('Home'),icon: new Stack(
children: <Widget>[
new Icon(Icons.home),new Positioned( // draw a red marble
top: 0.0,right: 0.0,child: new Icon(Icons.brightness_1,size: 8.0,color: Colors.redAccent),)
]
),)
解决方法
在声明const
中的项目之前,删除BottomNavigationBar
关键字
MyCart
的类型为<Widget>
,并且您将items
的{{1}}属性设置为类型BottomNavigationBar
,并将其设置为List<BottomNavigationBarItem>
。请勿将其设置为List<Widget>
,因为所有子项都必须是flutter小部件。如果执行此操作,然后再次调用List<dynamic>
,则将显示到以下小部件树:
MyCart()
可能是其他解决方案
,您不需要使用new / const等。请参见下面的代码...
bottomNavigationBar: BottomNavigationBar(items: [
BottomNavigationBarItem(
label: 'aaaaaa',icon: Stack(children: <Widget>[
Icon(Icons.home),Positioned(
// draw a red marble
top: 0.0,right: 0.0,child: Icon(Icons.brightness_1,size: 8.0,color: Colors.redAccent),)
]),),BottomNavigationBarItem(
label: 'dddddd',)
]),
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。