Skip to content

Commit 125e5ef

Browse files
author
mumiao
authored
fix: select TagRender Property not open dropdown when click (#582)
* fix: select TagRender Property not open dropdown when click * test: update testcase * test: update testCase * test: update testCase
1 parent 0ae299c commit 125e5ef

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/Selector/MultipleSelector.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ interface SelectorProps extends InnerSelectorProps {
2626
maxTagPlaceholder?: React.ReactNode | ((omittedValues: LabelValueType[]) => React.ReactNode);
2727
tokenSeparators?: string[];
2828
tagRender?: (props: CustomTagProps) => React.ReactElement;
29+
onToggleOpen: (open?: boolean) => void;
2930

3031
// Motion
3132
choiceTransitionName?: string;
@@ -62,6 +63,7 @@ const SelectSelector: React.FC<SelectorProps> = props => {
6263
maxTagTextLength,
6364
maxTagPlaceholder = (omittedValues: LabelValueType[]) => `+ ${omittedValues.length} ...`,
6465
tagRender,
66+
onToggleOpen,
6567

6668
onSelect,
6769
onInputChange,
@@ -123,8 +125,13 @@ const SelectSelector: React.FC<SelectorProps> = props => {
123125
closable: boolean,
124126
onClose: React.MouseEventHandler,
125127
) {
128+
const onMouseDown = (e: React.MouseEvent) => {
129+
onPreventMouseDown(e);
130+
onToggleOpen(true);
131+
};
132+
126133
return (
127-
<span onMouseDown={onPreventMouseDown}>
134+
<span onMouseDown={onMouseDown}>
128135
{tagRender({
129136
label: content,
130137
value,

tests/Tags.test.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,9 @@ describe('Select.Tags', () => {
285285
const wrapper = mount(<Select mode="tags" tokenSeparators={[',']} tagRender={tagRender} />);
286286

287287
wrapper.find('input').simulate('change', { target: { value: '1,A,42' } });
288+
wrapper.find('span.A').simulate('mousedown');
288289

290+
expectOpen(wrapper, true);
289291
expect(wrapper.find('span.A').length).toBe(1);
290292
expect(wrapper.find('span.A').text()).toBe('AA');
291293
expect(onTagRender).toHaveBeenCalled();

0 commit comments

Comments
 (0)