mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
fix: on hover/enter issue for view items (#3528)
This commit is contained in:
parent
0996f5fd24
commit
949dab9afe
@ -44,10 +44,11 @@ class _FlowyHoverState extends State<FlowyHover> {
|
||||
|
||||
@override
|
||||
void didUpdateWidget(covariant FlowyHover oldWidget) {
|
||||
if (widget.resetHoverOnRebuild == true) {
|
||||
if (widget.resetHoverOnRebuild) {
|
||||
// Reset the _onHover to false when the parent widget get rebuild.
|
||||
_onHover = false;
|
||||
}
|
||||
|
||||
super.didUpdateWidget(oldWidget);
|
||||
}
|
||||
|
||||
@ -58,28 +59,29 @@ class _FlowyHoverState extends State<FlowyHover> {
|
||||
opaque: false,
|
||||
onHover: (p) {
|
||||
if (_onHover) return;
|
||||
|
||||
if (widget.buildWhenOnHover?.call() ?? true) {
|
||||
setState(() => _onHover = true);
|
||||
if (widget.onHover != null) {
|
||||
widget.onHover!(true);
|
||||
}
|
||||
}
|
||||
_setOnHover(true);
|
||||
},
|
||||
onEnter: (p) {
|
||||
if (_onHover) return;
|
||||
_setOnHover(true);
|
||||
},
|
||||
onExit: (p) {
|
||||
if (_onHover == false) return;
|
||||
|
||||
if (widget.buildWhenOnHover?.call() ?? true) {
|
||||
setState(() => _onHover = false);
|
||||
if (widget.onHover != null) {
|
||||
widget.onHover!(false);
|
||||
}
|
||||
}
|
||||
if (!_onHover) return;
|
||||
_setOnHover(false);
|
||||
},
|
||||
child: renderWidget(),
|
||||
);
|
||||
}
|
||||
|
||||
void _setOnHover(bool isHovering) {
|
||||
if (widget.buildWhenOnHover?.call() ?? true) {
|
||||
setState(() => _onHover = isHovering);
|
||||
if (widget.onHover != null) {
|
||||
widget.onHover!(isHovering);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Widget renderWidget() {
|
||||
var showHover = _onHover;
|
||||
if (!showHover && widget.isSelected != null) {
|
||||
|
Loading…
Reference in New Issue
Block a user