ant-design/components/transfer/search.tsx
EmilyyyLiu 6b20275945
Some checks are pending
Publish Any Commit / build (push) Waiting to run
🔀 Sync mirror to Gitee / mirror (push) Waiting to run
✅ test / lint (push) Waiting to run
✅ test / test-react-legacy (16, 1/2) (push) Waiting to run
✅ test / test-react-legacy (16, 2/2) (push) Waiting to run
✅ test / test-react-legacy (17, 1/2) (push) Waiting to run
✅ test / test-react-legacy (17, 2/2) (push) Waiting to run
✅ test / test-node (push) Waiting to run
✅ test / test-react-latest (dom, 1/2) (push) Waiting to run
✅ test / test-react-latest (dom, 2/2) (push) Waiting to run
✅ test / test-react-latest-dist (dist, 1/2) (push) Blocked by required conditions
✅ test / test-react-latest-dist (dist, 2/2) (push) Blocked by required conditions
✅ test / test-react-latest-dist (dist-min, 1/2) (push) Blocked by required conditions
✅ test / test-react-latest-dist (dist-min, 2/2) (push) Blocked by required conditions
✅ test / test-coverage (push) Blocked by required conditions
✅ test / build (push) Waiting to run
✅ test / test lib/es module (es, 1/2) (push) Waiting to run
✅ test / test lib/es module (es, 2/2) (push) Waiting to run
✅ test / test lib/es module (lib, 1/2) (push) Waiting to run
✅ test / test lib/es module (lib, 2/2) (push) Waiting to run
👁️ Visual Regression Persist Start / test image (push) Waiting to run
feat:transfer开启showSearch漏出input相关配置 (#52125)
* feat:对穿梭框的搜索框漏出属性配置

* 修改文案

* 恢复误删的文案

* feat:拓展Transfer 的showSearch属性,使配置后漏出Input相关的属性

* 调整格式

* showSearch不支持数组方式

* 修改单测

* 修改判断写法

* 修改单测写法

---------

Co-authored-by: 刘欢 <lh01217311@antgroup.com>
2024-12-26 17:31:23 +08:00

52 lines
1.0 KiB
TypeScript

import * as React from 'react';
import SearchOutlined from '@ant-design/icons/SearchOutlined';
import Input from '../input';
export interface TransferSearchProps {
prefixCls?: string;
placeholder?: string;
onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
handleClear?: () => void;
value?: string;
disabled?: boolean;
}
const Search: React.FC<TransferSearchProps> = (props) => {
const {
placeholder = '',
value,
prefixCls,
disabled,
onChange,
handleClear,
} = props;
const handleChange = React.useCallback(
(e: React.ChangeEvent<HTMLInputElement>) => {
onChange?.(e);
if (e.target.value === '') {
handleClear?.();
}
},
[onChange],
);
return (
<Input
placeholder={placeholder}
className={prefixCls}
value={value}
onChange={handleChange}
disabled={disabled}
allowClear
prefix={<SearchOutlined />}
/>
);
};
if (process.env.NODE_ENV !== 'production') {
Search.displayName = 'Search';
}
export default Search;