Skip to content

Commit 2cf46df

Browse files
committed
fix: Input should not hidden when input is focused
1 parent c1cfde3 commit 2cf46df

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

src/generate.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -615,10 +615,12 @@ export default function generateSelector<
615615
const [innerOpen, setInnerOpen] = React.useState<boolean>(defaultOpen);
616616
let mergedOpen: boolean = open !== undefined ? open : innerOpen;
617617

618-
// Not trigger `open` when `notFoundContent` is empty
619-
if (mergedOpen && !notFoundContent && !displayOptions.length) {
618+
// Not trigger `open` in `combobox` when `notFoundContent` is empty
619+
const emptyListContent = !notFoundContent && !displayOptions.length;
620+
if (emptyListContent && mergedOpen && mode === 'combobox') {
620621
mergedOpen = false;
621622
}
623+
const triggerOpen = emptyListContent ? false : mergedOpen;
622624

623625
const onToggleOpen = (newOpen?: boolean) => {
624626
const nextOpen = newOpen !== undefined ? newOpen : !mergedOpen;
@@ -990,7 +992,7 @@ export default function generateSelector<
990992
ref={triggerRef}
991993
disabled={disabled}
992994
prefixCls={prefixCls}
993-
visible={mergedOpen}
995+
visible={triggerOpen}
994996
popupElement={popupNode}
995997
containerWidth={containerWidth}
996998
animation={animation}

tests/Select.test.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1406,8 +1406,9 @@ describe('Select.Basic', () => {
14061406

14071407
it('not open when `notFoundCount` is empty & no data', () => {
14081408
const wrapper = mount(
1409-
<Select options={null} open notFoundContent={null} />,
1409+
<Select options={null} notFoundContent={null} open showSearch />,
14101410
);
14111411
expect(wrapper.find('SelectTrigger').props().visible).toBeFalsy();
1412+
expect(wrapper.find('Input').props().editable).toBeTruthy();
14121413
});
14131414
});

0 commit comments

Comments
 (0)