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

mac2026-01-07  8

    项目启动过程中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)