Динамическое добавление новых параметров в раскрывающийся список с помощью ReactJS
Создание наших собственных параметров в раскрывающемся списке означает, что всякий раз, когда пользователь вводит любое новое значение, кроме значений, показанных в параметрах, это новое значение должно быть добавлено в раскрывающееся меню в качестве параметра. В Material UI для React этот компонент доступен нам, и его очень легко интегрировать.
Создание приложения React и установка модуля:
Шаг 1. Создайте приложение React, используя следующую команду:
npx создать-реагировать-приложение имя папки
Шаг 2: После создания папки проекта, т.е. имени папки , перейдите в нее с помощью следующей команды:
cd имя папки
Шаг 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 ( <div style={{ marginLeft: '40%' , marginTop: '60px' }}> <h3>Greetings from GeeksforGeeks!</h3> <Autocomplete filterOptions={(options, params) => { 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) => ( <TextField {...params} label= "Enter Something" variant= "outlined" /> )} /> </div> ); } export App default |
Шаг для запуска приложения: запустите приложение, используя следующую команду из корневого каталога проекта:
npm start
Вывод: Теперь откройте браузер и перейдите по адресу http: // localhost: 3000 / , вы увидите следующий вывод:
Теперь, если мы начнем вводить любой другой текст, кроме этих параметров, он покажет функцию Добавить, чтобы добавить параметр, введенный пользователем, как показано ниже:
Примечание. Теперь вы можете обработать этот новый ввод с помощью функции handleChange () и передать его в наш массив параметров в соответствии с потребностями пользователя.