You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.1 KiB
51 lines
1.1 KiB
2 years ago
|
import { AutoComplete } from 'antd';
|
||
|
import React, { useState } from 'react';
|
||
|
|
||
|
const mockVal = (str: string, repeat = 1) => ({
|
||
|
value: str.repeat(repeat),
|
||
|
});
|
||
|
|
||
|
const App: React.FC = () => {
|
||
|
const [value, setValue] = useState('');
|
||
|
const [options, setOptions] = useState<{ value: string }[]>([]);
|
||
|
|
||
|
const onSearch = (searchText: string) => {
|
||
|
setOptions(
|
||
|
!searchText ? [] : [mockVal(searchText), mockVal(searchText, 2), mockVal(searchText, 3)],
|
||
|
);
|
||
|
};
|
||
|
|
||
|
const onSelect = (data: string) => {
|
||
|
console.log('onSelect', data);
|
||
|
};
|
||
|
|
||
|
const onChange = (data: string) => {
|
||
|
setValue(data);
|
||
|
};
|
||
|
|
||
|
return (
|
||
|
<>
|
||
|
<AutoComplete
|
||
|
options={options}
|
||
|
style={{ width: 200 }}
|
||
|
onSelect={onSelect}
|
||
|
onSearch={onSearch}
|
||
|
placeholder="input here"
|
||
|
/>
|
||
|
<br />
|
||
|
<br />
|
||
|
<AutoComplete
|
||
|
value={value}
|
||
|
options={options}
|
||
|
style={{ width: 200 }}
|
||
|
onSelect={onSelect}
|
||
|
onSearch={onSearch}
|
||
|
onChange={onChange}
|
||
|
placeholder="control mode"
|
||
|
/>
|
||
|
</>
|
||
|
);
|
||
|
};
|
||
|
|
||
|
export default App;
|