所以我使用这个 TagsInput 作为在codesandbox链接中共享的
https://codesandbox.io/s/material-ui-input-with-chips-0s2j4?from-embed=&file=/src/TagsInput.js
我面临的问题是,如果有很多芯片,那么芯片就会超出文本字段
我想做的是找到一种方法,让我可以拥有像多行文本字段这样的方法,这样如果碎片太多,它们就会像在自动完成中那样转到下一行。
export default function TagsInput({ ...props }) {
const classes = useStyles();
const { selectedTags, placeholder, tags, ...other } = props;
const [inputValue, setInputValue] = React.useState("");
const [selectedItem, setSelectedItem] = React.useState([]);
useEffect(() => {
setSelectedItem(tags);
}, [tags]);
useEffect(() => {
selectedTags(selectedItem);
}, [selectedItem, selectedTags]);
function handleKeyDown(event) {
if (event.key === "Enter") {
const newSelectedItem = [...selectedItem];
const duplicatedValues = newSelectedItem.indexOf(
event.target.value.trim()
);
if (duplicatedValues !== -1) {
setInputValue("");
return;
}
if (!event.target.value.replace(/\s/g, "").length) return;
newSelectedItem.push(event.target.value.trim()); …Run Code Online (Sandbox Code Playgroud)