From ec2bb231ee02f5ffcfcecfcef368eb9c60035475 Mon Sep 17 00:00:00 2001 From: NSPC911 <87571998+NSPC911@users.noreply.github.com> Date: Tue, 11 Nov 2025 23:54:55 +0800 Subject: [PATCH] fix: add set_options to SelectionList threw me off when this happened to rovr, because the self._selected never got cleared when `set_options` was used instead of `clear_options` + `add_options` --- src/textual/widgets/_selection_list.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/textual/widgets/_selection_list.py b/src/textual/widgets/_selection_list.py index 50777c3acc..11285922e6 100644 --- a/src/textual/widgets/_selection_list.py +++ b/src/textual/widgets/_selection_list.py @@ -713,3 +713,16 @@ def clear_options(self) -> Self: self._selected.clear() self._values.clear() return super().clear_options() + + def set_options(self, options: Iterable[SelectionType]) -> Self: + """Set options, potentially clearing existing options. + + Args: + options: Options to set. + + Returns: + The `SelectionList` instance + """ + self._selected.clear() + self._values.clear() + return super().set_options(options)