diff --git a/src/Selector/MultipleSelector.tsx b/src/Selector/MultipleSelector.tsx index c8c3ff8cd..a3d2b49e6 100644 --- a/src/Selector/MultipleSelector.tsx +++ b/src/Selector/MultipleSelector.tsx @@ -26,6 +26,7 @@ interface SelectorProps extends InnerSelectorProps { maxTagPlaceholder?: React.ReactNode | ((omittedValues: LabelValueType[]) => React.ReactNode); tokenSeparators?: string[]; tagRender?: (props: CustomTagProps) => React.ReactElement; + onToggleOpen: (open?: boolean) => void; // Motion choiceTransitionName?: string; @@ -62,6 +63,7 @@ const SelectSelector: React.FC = props => { maxTagTextLength, maxTagPlaceholder = (omittedValues: LabelValueType[]) => `+ ${omittedValues.length} ...`, tagRender, + onToggleOpen, onSelect, onInputChange, @@ -123,8 +125,13 @@ const SelectSelector: React.FC = props => { closable: boolean, onClose: React.MouseEventHandler, ) { + const onMouseDown = (e: React.MouseEvent) => { + onPreventMouseDown(e); + onToggleOpen(true); + }; + return ( - + {tagRender({ label: content, value, diff --git a/tests/Tags.test.tsx b/tests/Tags.test.tsx index c95329fff..0983303bf 100644 --- a/tests/Tags.test.tsx +++ b/tests/Tags.test.tsx @@ -285,7 +285,9 @@ describe('Select.Tags', () => { const wrapper = mount(