如何在 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 等一样。