diff --git a/src/widget/dropdown/multi/widget.rs b/src/widget/dropdown/multi/widget.rs index c40f8760..b3bb09e2 100644 --- a/src/widget/dropdown/multi/widget.rs +++ b/src/widget/dropdown/multi/widget.rs @@ -200,6 +200,7 @@ impl<'a, S: AsRef, Message: 'a, Item: Clone + PartialEq + 'static> self.text_line_height, self.selections, &self.on_selected, + translation, ) } } @@ -392,6 +393,7 @@ pub fn overlay<'a, S: AsRef, Message: 'a, Item: Clone + PartialEq + 'static text_line_height: text::LineHeight, selections: &'a super::Model, on_selected: &'a dyn Fn(Item) -> Message, + translation: Vector, ) -> Option> { if state.is_open { let description_line_height = text::LineHeight::Absolute(Pixels( @@ -474,7 +476,8 @@ pub fn overlay<'a, S: AsRef, Message: 'a, Item: Clone + PartialEq + 'static let mut position = layout.position(); position.x -= padding.left; - + position.x += translation.x; + position.y += translation.y; Some(menu.overlay(position, bounds.height)) } else { None diff --git a/src/widget/dropdown/widget.rs b/src/widget/dropdown/widget.rs index 80d5a009..3ff76ee1 100644 --- a/src/widget/dropdown/widget.rs +++ b/src/widget/dropdown/widget.rs @@ -243,6 +243,7 @@ impl<'a, S: AsRef, Message: 'a> Widget, Message: 'a>( selections: &'a [S], selected_option: Option, on_selected: &'a dyn Fn(usize) -> Message, + translation: Vector, ) -> Option> { if state.is_open { let bounds = layout.bounds(); @@ -475,6 +477,8 @@ pub fn overlay<'a, S: AsRef, Message: 'a>( let mut position = layout.position(); position.x -= padding.left; + position.x += translation.x; + position.y += translation.y; Some(menu.overlay(position, bounds.height)) } else { None