diff --git a/components/config-provider/__tests__/index.test.tsx b/components/config-provider/__tests__/index.test.tsx
index 525b8cd652ca..1fbb048f2979 100644
--- a/components/config-provider/__tests__/index.test.tsx
+++ b/components/config-provider/__tests__/index.test.tsx
@@ -7,6 +7,7 @@ import { act, fireEvent, render } from '../../../tests/utils';
import Button from '../../button';
import Input from '../../input';
import Table from '../../table';
+import Select from '../../select';
describe('ConfigProvider', () => {
mountTest(() => (
@@ -113,6 +114,15 @@ describe('ConfigProvider', () => {
expect(container.querySelector('input')?.autocomplete).toEqual('off');
});
+ it('select showSearch', () => {
+ const { container } = render(
+
+
+ ,
+ );
+ expect(container.querySelectorAll('.ant-select-show-search').length).toBe(1);
+ });
+
it('render empty', () => {
let rendered = false;
let cacheRenderEmpty;
diff --git a/components/config-provider/context.tsx b/components/config-provider/context.tsx
index 4f17595dc962..3541ea2afac6 100644
--- a/components/config-provider/context.tsx
+++ b/components/config-provider/context.tsx
@@ -63,6 +63,9 @@ export interface ConfigConsumerProps {
colon?: boolean;
};
theme?: ThemeConfig;
+ select?: {
+ showSearch?: boolean;
+ };
}
const defaultGetPrefixCls = (suffixCls?: string, customizePrefixCls?: string) => {
diff --git a/components/config-provider/index.en-US.md b/components/config-provider/index.en-US.md
index a14165249408..dd246d3bbe1c 100644
--- a/components/config-provider/index.en-US.md
+++ b/components/config-provider/index.en-US.md
@@ -57,6 +57,7 @@ Some components use dynamic style to support wave effect. You can config `csp` p
| getTargetContainer | Config Affix, Anchor scroll target container | () => HTMLElement | () => window | 4.2.0 |
| iconPrefixCls | Set icon prefix className | string | `anticon` | 4.11.0 |
| input | Set Input common props | { autoComplete?: string } | - | 4.2.0 |
+| select | Set Select common props | { showSearch?: boolean } | - | |
| locale | Language package setting, you can find the packages in [antd/locale](http://unpkg.com/antd/locale/) | object | - | |
| prefixCls | Set prefix className | string | `ant` | |
| renderEmpty | Set empty content of components. Ref [Empty](/components/empty/) | function(componentName: string): ReactNode | - | |
diff --git a/components/config-provider/index.tsx b/components/config-provider/index.tsx
index fefc898b0875..f96d039e6e65 100644
--- a/components/config-provider/index.tsx
+++ b/components/config-provider/index.tsx
@@ -53,6 +53,7 @@ const PASSED_PROPS: Exclude (
| getTargetContainer | 配置 Affix、Anchor 滚动监听容器。 | () => HTMLElement | () => window | 4.2.0 |
| iconPrefixCls | 设置图标统一样式前缀 | string | `anticon` | 4.11.0 |
| input | 设置 Input 组件的通用属性 | { autoComplete?: string } | - | 4.2.0 |
+| select | 设置 Select 组件的通用属性 | { showSearch?: boolean } | - | |
| locale | 语言包配置,语言包可到 [antd/locale](http://unpkg.com/antd/locale/) 目录下寻找 | object | - | |
| prefixCls | 设置统一样式前缀 | string | `ant` | |
| renderEmpty | 自定义组件空状态。参考 [空状态](/components/empty/) | function(componentName: string): ReactNode | - | |
diff --git a/components/select/index.tsx b/components/select/index.tsx
index 32dec3676fc3..e744df55b710 100755
--- a/components/select/index.tsx
+++ b/components/select/index.tsx
@@ -91,6 +91,7 @@ const InternalSelect =