react-garden
Version:
React + TypeScript + ThreeJS app using Material UI on NextJS, Apollo Client, GraphQL + WordPress REST APIs, for ThreeD web development.. a part of the threed.ai code family.
80 lines (73 loc) • 2.55 kB
JavaScript
// ** React Imports
import { useState } from 'react'
// ** MUI Imports
import Button from '@mui/material/Button'
import Dialog from '@mui/material/Dialog'
import Select from '@mui/material/Select'
import MenuItem from '@mui/material/MenuItem'
import InputLabel from '@mui/material/InputLabel'
import DialogTitle from '@mui/material/DialogTitle'
import FormControl from '@mui/material/FormControl'
import DialogContent from '@mui/material/DialogContent'
import DialogActions from '@mui/material/DialogActions'
const SelectWithDialog = () => {
// ** State
const [open, setOpen] = useState(false)
const handleClickOpen = () => {
setOpen(true)
}
const handleClose = () => {
setOpen(false)
}
return (
<div>
<Button variant='outlined' onClick={handleClickOpen}>
Open select dialog
</Button>
<Dialog maxWidth='xs' fullWidth open={open} onClose={handleClose}>
<DialogTitle>Fill the form</DialogTitle>
<DialogContent sx={{ pt: theme => `${theme.spacing(2)} !important` }}>
<form>
<FormControl sx={{ mr: 4 }}>
<InputLabel id='demo-dialog-select-label'>Age</InputLabel>
<Select label='Age' labelId='demo-dialog-select-label' id='demo-dialog-select' defaultValue=''>
<MenuItem value=''>
<em>None</em>
</MenuItem>
<MenuItem value={10}>Ten</MenuItem>
<MenuItem value={20}>Twenty</MenuItem>
<MenuItem value={30}>Thirty</MenuItem>
</Select>
</FormControl>
<FormControl>
<InputLabel htmlFor='outlined-age-native-simple'>Age</InputLabel>
<Select
native
label='Age'
defaultValue=''
inputProps={{
name: 'age',
id: 'outlined-age-native-simple'
}}
>
<option aria-label='None' value='' />
<option value={10}>Ten</option>
<option value={20}>Twenty</option>
<option value={30}>Thirty</option>
</Select>
</FormControl>
</form>
</DialogContent>
<DialogActions>
<Button onClick={handleClose} variant='outlined'>
Cancel
</Button>
<Button onClick={handleClose} variant='outlined'>
Ok
</Button>
</DialogActions>
</Dialog>
</div>
)
}
export default SelectWithDialog