| | |
| | | const [currentOption, setCurrentOption] = React.useState(); |
| | | const [options, setOptions] = React.useState([]); |
| | | |
| | | const fetchData = async (value) => { |
| | | const resp = await Http.doPostForm(`api/${props.name}/query`, { condition: value }); |
| | | return resp.data; |
| | | } |
| | | |
| | | React.useEffect(() => { |
| | | async function init() { |
| | | const data = await fetchData(); |
| | | setOptions(data); |
| | | } |
| | | init() |
| | | }, []); |
| | | |
| | | const handleSearch = async (value) => { |
| | | if (value) { |
| | | const resp = await Http.doPostForm(`api/${props.name}/query`, { condition: value }); |
| | | setOptions(resp.data); |
| | | const data = await fetchData(value); |
| | | setOptions(data); |
| | | } else { |
| | | setOptions([]); |
| | | } |
| | |
| | | }} |
| | | onSearch={handleSearch} |
| | | showSearch={true} |
| | | debounceTime={300} |
| | | > |
| | | {options.map(item => ( |
| | | <Select.Option key={item.value} value={item.value}> |