所以我有一个小部件和内部构建方法:
Widget build(BuildContext context) {
return LayoutBuilder(builder: (context, constraint) {
return Container(
child: GestureDetector(
behavior: HitTestBehavior.translucent,
child: swipeTile),
);
});
}
当我在另一个函数中调用 setState 时,小部件不会更新。它仍然会显示旧的“swipeTile”。
void newSwipeTile(int swipeDirection) {
swipeTile.tile.disposeAnim();
setState(() {
this.swipeDirection = swipeDirection;
this.round++;
this.swipeTile = new SwipeTile(size: 40);
});
}
我已经尝试过使用 Container 并在小时候使用滑动磁贴为其分配唯一键。这确实有效,但后来我收到了以下错误消息:'package:flutter/src/widgets/framework.dart': Failed assertion: line 4606 pos 12: '_state._element == null': is not true。
child: Container(
key: UniqueKey(),
child: swipeTile,
)