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
59 lines
1.5 KiB
TypeScript
59 lines
1.5 KiB
TypeScript
import * as React from 'react';
|
|
import InputLabel from '@mui/material/InputLabel';
|
|
import FormControl from '@mui/material/FormControl';
|
|
import Select from '@mui/material/Select';
|
|
|
|
const names = [
|
|
'Oliver Hansen',
|
|
'Van Henry',
|
|
'April Tucker',
|
|
'Ralph Hubbard',
|
|
'Omar Alexander',
|
|
'Carlos Abbott',
|
|
'Miriam Wagner',
|
|
'Bradley Wilkerson',
|
|
'Virginia Andrews',
|
|
'Kelly Snyder',
|
|
];
|
|
|
|
export default function MultipleSelectNative() {
|
|
const [personName, setPersonName] = React.useState<string[]>([]);
|
|
const handleChangeMultiple = (event: React.ChangeEvent<HTMLSelectElement>) => {
|
|
const { options } = event.target;
|
|
const value: string[] = [];
|
|
for (let i = 0, l = options.length; i < l; i += 1) {
|
|
if (options[i].selected) {
|
|
value.push(options[i].value);
|
|
}
|
|
}
|
|
setPersonName(value);
|
|
};
|
|
|
|
return (
|
|
<div>
|
|
<FormControl sx={{ m: 1, minWidth: 120, maxWidth: 300 }}>
|
|
<InputLabel shrink htmlFor="select-multiple-native">
|
|
Native
|
|
</InputLabel>
|
|
<Select<string[]>
|
|
multiple
|
|
native
|
|
value={personName}
|
|
// @ts-ignore Typings are not considering `native`
|
|
onChange={handleChangeMultiple}
|
|
label="Native"
|
|
inputProps={{
|
|
id: 'select-multiple-native',
|
|
}}
|
|
>
|
|
{names.map((name) => (
|
|
<option key={name} value={name}>
|
|
{name}
|
|
</option>
|
|
))}
|
|
</Select>
|
|
</FormControl>
|
|
</div>
|
|
);
|
|
}
|