mirror of
https://github.com/ant-design/ant-design.git
synced 2024-12-23 23:18:36 +08:00
05a0179616
* demo(AutoComplete): opt options type by AutoCompleteProps * lint fix
50 lines
1.3 KiB
TypeScript
50 lines
1.3 KiB
TypeScript
import React, { useState } from 'react';
|
|
import { AutoComplete } from 'antd';
|
|
import type { AutoCompleteProps } from 'antd';
|
|
|
|
const mockVal = (str: string, repeat = 1) => ({
|
|
value: str.repeat(repeat),
|
|
});
|
|
|
|
const App: React.FC = () => {
|
|
const [value, setValue] = useState('');
|
|
const [options, setOptions] = useState<AutoCompleteProps['options']>([]);
|
|
const [anotherOptions, setAnotherOptions] = useState<AutoCompleteProps['options']>([]);
|
|
|
|
const getPanelValue = (searchText: string) =>
|
|
!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={(text) => setOptions(getPanelValue(text))}
|
|
placeholder="input here"
|
|
/>
|
|
<br />
|
|
<br />
|
|
<AutoComplete
|
|
value={value}
|
|
options={anotherOptions}
|
|
style={{ width: 200 }}
|
|
onSelect={onSelect}
|
|
onSearch={(text) => setAnotherOptions(getPanelValue(text))}
|
|
onChange={onChange}
|
|
placeholder="control mode"
|
|
/>
|
|
</>
|
|
);
|
|
};
|
|
|
|
export default App;
|