小编mlk*_*lkw的帖子

在 React Hooks 中输入文本时 antd Select Option 不渲染

antd我正在尝试使用和来实现带有远程数据Select的搜索框Option。我期望当我在搜索框中输入文本时,将立即呈现选项列表。相反,这些选项仅在我清除搜索框后才会出现。

我有这些状态:

const [symbol, setSymbol] = useState("");
const [searchResults, setSearchResults] = useState<React.ReactNode[]>();
Run Code Online (Sandbox Code Playgroud)

和这个组件:

<Select
  showSearch
  value={symbol}
  onSearch={handleSearch}
  onChange={handleChange}
>
  {searchResults}
</Select>
Run Code Online (Sandbox Code Playgroud)

这是我的handleSearch 函数:

const handleSearch = (value: string) => {
  if (value) {
    fetchStocksList(value, (data) => setSearchResults(data));
  }
};
Run Code Online (Sandbox Code Playgroud)

这是用于从 api 获取数据的函数,下面console.log()可以正确记录我想要的数据:

const fetchStocksList = (
  value: string,
  callback: (data: React.ReactNode[]) => void
) => {
  axios
    .get(`${API_SERVER}/api/stocksinfo?search=${value}`)
    .then((res) => {
      let data: React.ReactNode[] = [];
      res.data.forEach((row: any) => {
        data.push(
          <Option value={row.symbol}>{row.symbol …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs antd react-hooks

1
推荐指数
1
解决办法
2666
查看次数

标签 统计

antd ×1

react-hooks ×1

reactjs ×1

typescript ×1