use*_*470 3 javascript autocomplete multi-select reactjs material-ui
所以我想<Chip />在<TextField />in之外显示选定的值<Autocomplete />。我能够将值显示为state. 不过,我还是无法删除那些芯片,即不只是显示器,而且还改变了selected控制的属性<Autocomplete />。有没有人有想法?
const [val, setVal] = useState([]);
const valHtml = val.map((option, index) => (
<Chip
label={option.title}
deleteIcon={<RemoveIcon />}
onDelete={() => {}}
/>
));
return (
<div>
<Autocomplete
multiple
filterSelectedOptions
options={top100Films}
onChange={(e, newValue) => setVal(newValue)}
getOptionLabel={option => option.title}
renderTags={() => {}}
renderInput={params => (
<TextField
{...params}
variant="standard"
placeholder="Favorites"
margin="normal"
fullWidth
/>
)}
/>
<div className="selectedTags">{valHtml}</div>
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
完整代码在这里
你需要两件事:
onDelete所述的Chip如: onDelete={() => {
setVal(val.filter(entry => entry !== option));
}}
Run Code Online (Sandbox Code Playgroud)
Autocomplete: <Autocomplete
value={val}
// ... other properties
/>
Run Code Online (Sandbox Code Playgroud)
这是您的沙箱的工作版本:https : //codesandbox.io/s/autocomplete-with-chips-85rqq
| 归档时间: |
|
| 查看次数: |
4899 次 |
| 最近记录: |