2023-07-28 17:15:04 +08:00
|
|
|
import React, { useState } from 'react';
|
2023-07-25 10:00:23 +08:00
|
|
|
import { CloseSquareFilled } from '@ant-design/icons';
|
|
|
|
import { AutoComplete } from 'antd';
|
2024-07-08 16:01:02 +08:00
|
|
|
import type { AutoCompleteProps } from 'antd';
|
2023-07-25 10:00:23 +08:00
|
|
|
|
|
|
|
const mockVal = (str: string, repeat = 1) => ({
|
|
|
|
value: str.repeat(repeat),
|
|
|
|
});
|
|
|
|
|
|
|
|
const App: React.FC = () => {
|
2024-07-08 16:01:02 +08:00
|
|
|
const [options, setOptions] = useState<AutoCompleteProps['options']>([]);
|
2023-07-25 10:00:23 +08:00
|
|
|
|
|
|
|
const getPanelValue = (searchText: string) =>
|
|
|
|
!searchText ? [] : [mockVal(searchText), mockVal(searchText, 2), mockVal(searchText, 3)];
|
|
|
|
|
|
|
|
return (
|
|
|
|
<>
|
|
|
|
<AutoComplete
|
|
|
|
options={options}
|
|
|
|
style={{ width: 200 }}
|
|
|
|
onSearch={(text) => setOptions(getPanelValue(text))}
|
|
|
|
placeholder="UnClearable"
|
|
|
|
allowClear={false}
|
|
|
|
/>
|
|
|
|
<br />
|
|
|
|
<br />
|
|
|
|
<AutoComplete
|
|
|
|
options={options}
|
|
|
|
style={{ width: 200 }}
|
|
|
|
onSearch={(text) => setOptions(getPanelValue(text))}
|
|
|
|
placeholder="Customized clear icon"
|
|
|
|
allowClear={{ clearIcon: <CloseSquareFilled /> }}
|
|
|
|
/>
|
|
|
|
</>
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
|
|
|
export default App;
|