Some checks failed
No response / noResponse (push) Has been cancelled
CI / Continuous releases (push) Has been cancelled
CI / test-dev (macos-latest) (push) Has been cancelled
CI / test-dev (ubuntu-latest) (push) Has been cancelled
CI / test-dev (windows-latest) (push) Has been cancelled
Maintenance / main (push) Has been cancelled
Scorecards supply-chain security / Scorecards analysis (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
56 lines
1.3 KiB
JavaScript
56 lines
1.3 KiB
JavaScript
import * as React from 'react';
|
|
import { styled } from '@mui/material/styles';
|
|
import Chip from '@mui/material/Chip';
|
|
import Paper from '@mui/material/Paper';
|
|
import TagFacesIcon from '@mui/icons-material/TagFaces';
|
|
|
|
const ListItem = styled('li')(({ theme }) => ({
|
|
margin: theme.spacing(0.5),
|
|
}));
|
|
|
|
export default function ChipsArray() {
|
|
const [chipData, setChipData] = React.useState([
|
|
{ key: 0, label: 'Angular' },
|
|
{ key: 1, label: 'jQuery' },
|
|
{ key: 2, label: 'Polymer' },
|
|
{ key: 3, label: 'React' },
|
|
{ key: 4, label: 'Vue.js' },
|
|
]);
|
|
|
|
const handleDelete = (chipToDelete) => () => {
|
|
setChipData((chips) => chips.filter((chip) => chip.key !== chipToDelete.key));
|
|
};
|
|
|
|
return (
|
|
<Paper
|
|
sx={{
|
|
display: 'flex',
|
|
justifyContent: 'center',
|
|
flexWrap: 'wrap',
|
|
listStyle: 'none',
|
|
p: 0.5,
|
|
m: 0,
|
|
}}
|
|
component="ul"
|
|
>
|
|
{chipData.map((data) => {
|
|
let icon;
|
|
|
|
if (data.label === 'React') {
|
|
icon = <TagFacesIcon />;
|
|
}
|
|
|
|
return (
|
|
<ListItem key={data.key}>
|
|
<Chip
|
|
icon={icon}
|
|
label={data.label}
|
|
onDelete={data.label === 'React' ? undefined : handleDelete(data)}
|
|
/>
|
|
</ListItem>
|
|
);
|
|
})}
|
|
</Paper>
|
|
);
|
|
}
|