📜  如何在 ReactJS 中创建动态搜索框?

📅  最后修改于: 2022-05-13 01:56:46.677000             🧑  作者: Mango

如何在 ReactJS 中创建动态搜索框?

动态搜索框是一个带有文本字段的搜索栏,用于获取用户输入,然后对用户输入执行一些操作,以根据他的输入向他显示动态结果。每当用户开始输入以向他显示动态选项时,都会调用 API。例如 Youtube 搜索框、Google 搜索框等。React 的Material UI 有这个组件可供我们使用,并且非常容易集成。我们可以使用以下方法在 ReactJS 中创建一个简单的动态搜索框

创建 React 应用程序并安装模块:

第 1 步:使用以下命令创建一个 React 应用程序:

npx create-react-app foldername

第 2 步:创建项目文件夹(即文件夹名称)后使用以下命令移动到该文件夹:

cd foldername

第 3 步:创建 ReactJS 应用程序后,使用以下命令安装material-ui模块:

npm install @material-ui/core
npm install @material-ui/lab

项目结构:它将如下所示。

项目结构

App.js:现在在App.js文件中写下以下代码。在这里,App 是我们编写代码的默认组件。

Javascript
import React, { useState } from 'react'
import TextField from '@material-ui/core/TextField';
import Autocomplete from '@material-ui/lab/Autocomplete';
  
const App = () => {
  
  const [myOptions, setMyOptions] = useState([])
  
  const getDataFromAPI = () => {
    console.log("Options Fetched from API")
  
    fetch('http://dummy.restapiexample.com/api/v1/employees').then((response) => {
      return response.json()
    }).then((res) => {
      console.log(res.data)
      for (var i = 0; i < res.data.length; i++) {
        myOptions.push(res.data[i].employee_name)
      }
      setMyOptions(myOptions)
    })
  }
  
  return (
    
      

Greetings from GeeksforGeeks!

       (                    )}       />     
  ); }    export default App


运行应用程序的步骤:从项目的根目录使用以下命令运行应用程序:

npm start

输出:现在打开浏览器并转到http://localhost:3000/ ,您将看到以下输出:

在上面的示例中,您可以看到每当用户输入任何内容时,都会调用一个 API 来获取选项,这就是我们可以在搜索框中显示动态选项的方式,就像 YouTube、Google 等一样。