Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

392
Views
el menú material-ui no se cierra cuando se abre el cuadro de diálogo

estoy usando reaccionar + material-ui. creé un componente de dialog en un archivo jsx como este:

 export default class CartoviewAbout extends React.Component { constructor(props) { super(props); this.state = {open: false}; } _handleOpen() { this.setState({open: true}); }; _handleClose() { this.setState({open: false}); }; render() { const actions = [ <FlatButton label="Close" primary={true} keyboardFocused={true} onTouchTap={this._handleClose.bind(this)} />, ]; return ( <div> <MenuItem onTouchTap={this._handleOpen.bind(this)} primaryText="Show About Dialog" /> <Dialog title={title} actions={actions} modal={false} open={this.state.open} onRequestClose={this._handleClose.bind(this)} autoScrollBodyContent={true} contentClassName="dialog" bodyClassName="dialog_body" > <div ><p>{abstract}</p> </div> </Dialog> </div> ); } }

y uso este componente en el menú en otro archivo, pero luego hago clic en el cuadro de diálogo del elemento de menú abierto y el menú no se cierra:

 export default class CartoviewAppBar extends React.Component { constructor(props) { super(props); } render() { const about = appConfig.showAbout ? React.createElement(CartoviewAbout) : ""; const icon_menu = <IconMenu iconButtonElement={<IconButton><MoreVertIcon /></IconButton>} anchorOrigin={{horizontal: 'right', vertical: 'top'}} targetOrigin={{horizontal: 'right', vertical: 'top'}} > {about} </IconMenu>; return ( <div> <AppBar title={''} showMenuIconButton={false} iconElementRight={icon_menu} /> </div> ); }

imagen: Imagen quiero que el menú se cierre cuando se abre el diálogo

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Deberá agregar el componente Dialog fuera del IconMenu. El evento onRequestChange de IconMenu no se activará hasta que se cierre el cuadro de diálogo.

over 4 years ago · Santiago Trujillo Report

0

Pruebe esto puede ser una solución.

 _handleOpen() { window.setTimeout(() => { this.setState({open: true}); }, 100); //any arbitary timeout };

MenuItem onClick se activará automáticamente para cerrar IconMenu

Creo que abrir Dialog suprime el evento para cerrar IconMenu . Entonces, abrir Dialog después de cerrar IconMenu usando setTimeout

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!