使用 ReactJS 在 Dropdown 中动态添加新选项
在下拉菜单中创建我们自己的选项意味着每当用户键入选项中显示的值以外的任何新值时,该新值都应作为选项添加到下拉菜单中。 React 的 Material UI 为我们提供了这个组件,它非常容易集成。
创建 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 from 'react'
import TextField from '@material-ui/core/TextField';
import Autocomplete,
{ createFilterOptions } from '@material-ui/lab/Autocomplete';
const filter = createFilterOptions();
const App = () => {
// Our sample dropdown options
const options = ['One', 'Two', 'Three', 'Four']
return (
Greetings from GeeksforGeeks!
{
const filtered = filter(options, params);
// Suggest the creation of a new value
if (params.inputValue !== '') {
filtered.push(`Add "${params.inputValue}"`);
}
return filtered;
}}
selectOnFocus
clearOnBlur
handleHomeEndKeys
options={options}
renderOption={(option) => option}
style={{ width: 300 }}
freeSolo
renderInput={(params) => (
)}
/>
);
}
export default App
运行应用程序的步骤:从项目的根目录使用以下命令运行应用程序:
npm start
输出:现在打开浏览器并转到http://localhost:3000/ ,您将看到以下输出:
现在,如果我们开始输入除这些选项之外的任何其他文本,它将显示添加功能以添加我们的用户输入选项,如下所示:
注意:现在您可以使用 handleChange()函数处理这个新输入,并根据用户需要将其推送到我们的选项数组。