【Flutter】Flutter异常:There are multiple heroes that share the same tag within a subtree.

    项目启动过程中Flutter报错:

flutter: The following assertion was thrown during a scheduler callback:
flutter: There are multiple heroes that share the same tag within a subtree.
flutter: Within each subtree for which heroes are to be animated (i.e. a PageRoute subtree), each Hero must
flutter: have a unique non-null tag.
flutter: In this case, multiple heroes had the following tag: <default FloatingActionButton tag>

    意思是在子树中有多个Hero共享同一个标签,每个Hero对象的tag必须是惟一的。并且指出了是在FloatingActionButton中的tag存在冲突。
    最后发现代码中的FloatingActionButton没有指定heroTag。为FloatingActionButton添加heroTag属性,问题解决。

...
		Positioned(
            bottom: 30,
            right: 10,
            child: FloatingActionButton(
              heroTag: 'remove',
              onPressed: () {
                int data = _data.last;
                int index = _data.length - 1;
                _data.remove(data);
                _listKey.currentState.removeItem(index, (context, animation) => myListItem(data.toString(), animation));
              },
              child: Icon(Icons.remove),
            ),
          ),
          Positioned(
            bottom: 30,
            right: 70,
            child: FloatingActionButton(
              heroTag: 'add',
              onPressed: () {
                int num = Random().nextInt(100);
                _data.add(num);
                int index = _data.lastIndexOf(num);
                _listKey.currentState.insertItem(index);
              },
              child: Icon(Icons.add),
            ),
          )
...
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MAXLZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值