【问题标题】:Can I prevent the ExpansionTile from rebuilding its children?我可以阻止 ExpansionTile 重建它的孩子吗?
【发布时间】:2021-01-16 16:40:35
【问题描述】:

我有一个 ExpansionTile 小部件,它包含一些 children,我想要的是防止 ExpansionTile 在我展开它时重建它的孩子.

有什么基本的方法或者我必须做一些技巧吗?

【问题讨论】:

    标签: flutter dart flutter-layout


    【解决方案1】:

    maintainStatetrue 像这样:

    ExpansionTile(
        maintainState: true,
        children: [
        ...
        ]
    )
    

    【讨论】:

      【解决方案2】:

      请务必尝试使用 automaticKeepAlive,它会让您的小部件保持活动状态而无需再次构建

      如果你想保留它而不构建为常量,你可以使用 const 类型

      对于自动KeepAlive 检查: https://api.flutter.dev/flutter/widgets/AutomaticKeepAliveClientMixin-mixin.html

      这里更像这样的问答

      https://stackoverflow.com/a/52543119/11989529

      【讨论】:

      • 不幸的是,我尝试使用 AutomaticKeepAliveClientMixin,但它不起作用:(,它一定不能与 ExpansionTile 一起使用,您还有其他解决方案吗,谢谢
      • 法鲁克你能和我分享一下自动保持的代码吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-17
      • 1970-01-01
      • 2017-05-11
      • 2011-07-26
      • 2020-06-30
      • 2018-03-07
      • 1970-01-01
      相关资源
      最近更新 更多