Skip to content

Commit 65f03bb

Browse files
authored
fix: refine placeholder rendering logic in MultipleContent component (#1192)
* fix: refine placeholder rendering logic in MultipleContent component bg: https://github.com/react-component/select/pull/1166/changes#r2707079879 fix: ant-design/ant-design#56587 * 🧪 add unit test
1 parent 947131a commit 65f03bb

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

src/SelectInput/Content/MultipleContent.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ export default React.forwardRef<HTMLInputElement, SharedContentProps>(function M
200200
prefixCls={`${prefixCls}-content`}
201201
className={classNames?.content}
202202
style={styles?.content}
203-
prefix={!displayValues.length && (!searchValue || !triggerOpen) ? <Placeholder /> : null}
203+
prefix={!displayValues.length && !inputValue && <Placeholder />}
204204
data={displayValues}
205205
renderItem={renderItem}
206206
renderRest={renderRest}

tests/Tags.test.tsx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -574,4 +574,14 @@ describe('Select.Tags', () => {
574574
});
575575
expect(onChange).not.toBeCalled();
576576
});
577+
578+
// https://github.com/ant-design/ant-design/issues/56587
579+
it('should not display placeholder', () => {
580+
const { container } = render(<Select mode="tags" placeholder="Select items" open={false} />);
581+
expect(container.querySelector('.rc-select-placeholder')).toBeTruthy();
582+
const input = container.querySelector<HTMLInputElement>('input');
583+
584+
fireEvent.change(input, { target: { value: '2' } });
585+
expect(container.querySelector('.rc-select-placeholder')).toBeFalsy();
586+
});
577587
});

0 commit comments

Comments
 (0)