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
52 lines
1.5 KiB
TypeScript
52 lines
1.5 KiB
TypeScript
import * as React from 'react';
|
|
import InputLabel from '@mui/material/InputLabel';
|
|
import MenuItem from '@mui/material/MenuItem';
|
|
import FormControl from '@mui/material/FormControl';
|
|
import Select, { SelectChangeEvent } from '@mui/material/Select';
|
|
import Button from '@mui/material/Button';
|
|
|
|
export default function ControlledOpenSelect() {
|
|
const [age, setAge] = React.useState<string | number>('');
|
|
const [open, setOpen] = React.useState(false);
|
|
|
|
const handleChange = (event: SelectChangeEvent<typeof age>) => {
|
|
setAge(event.target.value);
|
|
};
|
|
|
|
const handleClose = () => {
|
|
setOpen(false);
|
|
};
|
|
|
|
const handleOpen = () => {
|
|
setOpen(true);
|
|
};
|
|
|
|
return (
|
|
<div>
|
|
<Button sx={{ display: 'block', mt: 2 }} onClick={handleOpen}>
|
|
Open the select
|
|
</Button>
|
|
<FormControl sx={{ m: 1, minWidth: 120 }}>
|
|
<InputLabel id="demo-controlled-open-select-label">Age</InputLabel>
|
|
<Select
|
|
labelId="demo-controlled-open-select-label"
|
|
id="demo-controlled-open-select"
|
|
open={open}
|
|
onClose={handleClose}
|
|
onOpen={handleOpen}
|
|
value={age}
|
|
label="Age"
|
|
onChange={handleChange}
|
|
>
|
|
<MenuItem value="">
|
|
<em>None</em>
|
|
</MenuItem>
|
|
<MenuItem value={10}>Ten</MenuItem>
|
|
<MenuItem value={20}>Twenty</MenuItem>
|
|
<MenuItem value={30}>Thirty</MenuItem>
|
|
</Select>
|
|
</FormControl>
|
|
</div>
|
|
);
|
|
}
|