--- order: 9 title: zh-CN: 搜索框 en-US: Search Box --- ## zh-CN 搜索和远程数据结合。 ## en-US Search with remote data. ```tsx import { Select } from 'antd'; import jsonp from 'fetch-jsonp'; import qs from 'qs'; import React, { useState } from 'react'; const { Option } = Select; let timeout: ReturnType | null; let currentValue: string; const fetch = (value: string, callback: (data: { value: string; text: string }[]) => void) => { if (timeout) { clearTimeout(timeout); timeout = null; } currentValue = value; const fake = () => { const str = qs.stringify({ code: 'utf-8', q: value, }); jsonp(`https://suggest.taobao.com/sug?${str}`) .then((response: any) => response.json()) .then((d: any) => { if (currentValue === value) { const { result } = d; const data = result.map((item: any) => ({ value: item[0], text: item[0], })); callback(data); } }); }; timeout = setTimeout(fake, 300); }; const SearchInput: React.FC<{ placeholder: string; style: React.CSSProperties }> = props => { const [data, setData] = useState([]); const [value, setValue] = useState(); const handleSearch = (newValue: string) => { if (newValue) { fetch(newValue, setData); } else { setData([]); } }; const handleChange = (newValue: string) => { setValue(newValue); }; const options = data.map(d => ); return ( ); }; const App: React.FC = () => ; export default App; ```