#reactjs #typescript #angular-material #material-ui #material-design
#reactjs #машинопись #angular-material #материал-пользовательский интерфейс #материал-дизайн
Вопрос:
Можно ли эмулировать ввод в стиле ввода Angular Material Chip, используя массив микросхем пользовательского интерфейса React Material?
Я пытаюсь включить чистый вид ввода микросхем Angular Material в React. Массив микросхем Material UI кажется самым близким, но, похоже, он не поддерживает ввод изначально. Существует ли конфигурация, которую можно использовать для получения такой же функциональности?
Комментарии:
1. Я думаю, что автозаполнение может быть тем, на что вы хотите обратить внимание.
Ответ №1:
Основываясь на комментарии @ryan-cogswell, использование Autocomplete
с freeSolo
настройкой дало результат, аналогичный вводу чипа Angular Material.
import React from "react";
import { Chip, TextField } from "@material-ui/core";
import { Autocomplete } from "@material-ui/lab";
import "./App.css";
export const App: React.FC = () => {
return (
<div className="App">
<Autocomplete
multiple
id="tags-filled"
options={[]}
freeSolo
renderTags={(value: string[], getTagProps) =>
value.map((option: string, index: number) => (
<Chip
variant="outlined"
label={option}
{...getTagProps({ index })}
/>
))
}
renderInput={(params) => (
<TextField
{...params}
variant="filled"
label="freeSolo"
placeholder="Favorites"
/>
)}
/>
</div>
);
};
Ответ №2:
Существует также пакет для Material UI v5 (или MUI), называемый Mui chips input, и он работает с React 17 и 18!
Простой способ использования.
Проверьте документ здесь: https://viclafouch.github.io/mui-chips-input /
import React from 'react'
import { MuiChipsInput } from 'mui-chips-input'
const MyComponent = () => {
const [value, setValue] = React.useState([])
const handleChange = (newValue) => {
setValue(newValue)
}
return <MuiChipsInput label="Chips" fullWidth value={value} onChange={handleChange} />
}