diff --git a/lib/common/widgets/custom_sliver_persistent_header_delegate.dart b/lib/common/widgets/custom_sliver_persistent_header_delegate.dart index e54f024b..b010f5b5 100644 --- a/lib/common/widgets/custom_sliver_persistent_header_delegate.dart +++ b/lib/common/widgets/custom_sliver_persistent_header_delegate.dart @@ -6,12 +6,14 @@ class CustomSliverPersistentHeaderDelegate required this.child, required this.bgColor, double extent = 45, + this.needRebuild, }) : _minExtent = extent, _maxExtent = extent; final double _minExtent; final double _maxExtent; final Widget child; final Color? bgColor; + final bool? needRebuild; @override Widget build( @@ -44,8 +46,8 @@ class CustomSliverPersistentHeaderDelegate double get minExtent => _minExtent; @override - bool shouldRebuild( - covariant CustomSliverPersistentHeaderDelegate oldDelegate) { - return oldDelegate.bgColor != bgColor; + bool shouldRebuild(CustomSliverPersistentHeaderDelegate oldDelegate) { + return oldDelegate.bgColor != bgColor || + (needRebuild == true && oldDelegate.child != child); } } diff --git a/lib/pages/dynamics_mention/view.dart b/lib/pages/dynamics_mention/view.dart index 1531ea08..dd49a010 100644 --- a/lib/pages/dynamics_mention/view.dart +++ b/lib/pages/dynamics_mention/view.dart @@ -243,6 +243,7 @@ class _DynMentionPanelState extends State { pinned: true, delegate: CustomSliverPersistentHeaderDelegate( extent: 40, + needRebuild: true, bgColor: theme.colorScheme.surface, child: Container( height: 40,