1

所以我有一个小部件和内部构建方法:

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,
       )
4

0 回答 0