From 0234b9f87b4b6c3ba59e8ba3497c4f9d8e9b3055 Mon Sep 17 00:00:00 2001 From: Stephan Dilly Date: Mon, 23 Mar 2020 14:04:27 +0100 Subject: [PATCH] try to keep selection --- src/components/index.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/components/index.rs b/src/components/index.rs index e5214e3c..5bfa4e52 100644 --- a/src/components/index.rs +++ b/src/components/index.rs @@ -38,8 +38,12 @@ impl IndexComponent { if hash(&self.items) != hash(list) { self.items = list.clone(); - self.selection = - if self.items.len() > 0 { Some(0) } else { None }; + let old_selection = self.selection.unwrap_or_default(); + self.selection = if self.items.len() > 0 { + Some(cmp::min(old_selection, self.items.len() - 1)) + } else { + None + }; } }