UNPKG

materialuiupgraded

Version:

Material-UI's workspace package

109 lines (99 loc) 3.4 kB
import React from 'react'; import PropTypes from 'prop-types'; import Button from '@material-ui/core/Button'; import { withStyles } from '@material-ui/core/styles'; import Dialog from '@material-ui/core/Dialog'; import DialogActions from '@material-ui/core/DialogActions'; import DialogContent from '@material-ui/core/DialogContent'; import DialogTitle from '@material-ui/core/DialogTitle'; import InputLabel from '@material-ui/core/InputLabel'; import Input from '@material-ui/core/Input'; import MenuItem from '@material-ui/core/MenuItem'; import FormControl from '@material-ui/core/FormControl'; import Select from '@material-ui/core/Select'; const styles = theme => ({ container: { display: 'flex', flexWrap: 'wrap', }, formControl: { margin: theme.spacing.unit, minWidth: 120, }, }); class DialogSelect extends React.Component { state = { open: false, age: '', }; handleChange = name => event => { this.setState({ [name]: Number(event.target.value) }); }; handleClickOpen = () => { this.setState({ open: true }); }; handleClose = () => { this.setState({ open: false }); }; render() { const { classes } = this.props; return ( <div> <Button onClick={this.handleClickOpen}>Open select dialog</Button> <Dialog disableBackdropClick disableEscapeKeyDown open={this.state.open} onClose={this.handleClose} > <DialogTitle>Fill the form</DialogTitle> <DialogContent> <form className={classes.container}> <FormControl className={classes.formControl}> <InputLabel htmlFor="age-native-simple">Age</InputLabel> <Select native value={this.state.age} onChange={this.handleChange('age')} input={<Input id="age-native-simple" />} > <option value="" /> <option value={10}>Ten</option> <option value={20}>Twenty</option> <option value={30}>Thirty</option> </Select> </FormControl> <FormControl className={classes.formControl}> <InputLabel htmlFor="age-simple">Age</InputLabel> <Select value={this.state.age} onChange={this.handleChange('age')} input={<Input id="age-simple" />} > <MenuItem value=""> <em>None</em> </MenuItem> <MenuItem value={10}>Ten</MenuItem> <MenuItem value={20}>Twenty</MenuItem> <MenuItem value={30}>Thirty</MenuItem> </Select> </FormControl> </form> </DialogContent> <DialogActions> <Button onClick={this.handleClose} color="primary"> Cancel </Button> <Button onClick={this.handleClose} color="primary"> Ok </Button> </DialogActions> </Dialog> </div> ); } } DialogSelect.propTypes = { classes: PropTypes.object.isRequired, }; export default withStyles(styles)(DialogSelect);