Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

96
Vistas
React Boostrap NavDropdown.Item cierra modal cuando NavBar está cerrado

Hola, estoy tratando de abrir un Modal en NavDropdown.Item . Haga clic en el elemento que está dentro de una NavBar de navegación,

Si hago algo como esto

 import { useState } from "react"; import { rockPositions } from "../../constant/markers" import { CloseButton, NavDropdown, Alert } from "react-bootstrap"; import Modal from 'react-modal/lib/components/Modal'; import { RouteBadge } from "../RouteBadge/RouteBadge"; import { RouteTable } from "../RouteTable/RouteTable"; import { modalStyle } from '../RockModalMarker/RockModalMarker.css.js'; const RockDropDownModal = (props) => { const [isOpen, setIsOpen] = useState(false); const route = props.route; const rock = rockPositions.find(rockPosition => rockPosition.name === route.rock); const index = props.rockIndex; const toggleModal = (e) => { setIsOpen(!isOpen); }; if (!isOpen) { return ( <NavDropdown.Item key={index} href="#rock" onClick={toggleModal}><span className={"rock-name-dropdown"}>{route.rock}</span>: {route.name}</NavDropdown.Item> ) } return ( <Modal key={index} defaultStyles={modalStyle} isOpen={isOpen} onRequestClose={toggleModal} centered ariaHideApp={false} > <CloseButton variant="white" onClick={toggleModal} /> <Alert variant="primary" style={{ marginTop: "20px", backgroundColor: "#01579B", borderColor: "#0277BD" }}> <Alert.Heading style={{ color: "#FFF" }}><p className="routeName">{rock.name}</p></Alert.Heading> </Alert> <RouteBadge rock={rock} /> <RouteTable rock={rock} /> </Modal> ) } export { RockDropDownModal };

el modal se abre bien pero está detrás de la NavBar de navegación y si cierro la barra de navegación, el modal también se cierra.

Estaba tratando de cerrar la barra de navegación y solo mostrar el modal, pero envuelvo el elemento desplegable de esta manera

 <Navbar.Toggle> <NavDropdown.Item key={index} href="#rock" onClick={toggleModal}><span className={"rock-name-dropdown"}>{route.rock}</span>: {route.name}</NavDropdown.Item> </Navbar.Toggle>

cierra la barra de navegación pero también el modal.

En la captura de pantalla aquí , puede ver la barra de navegación, cuando se hace clic en el elemento seleccionado, se debe abrir Modal y cerrar la barra de navegación.

¿Cómo puedo evitar que el Modal se cierre?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Si uno de los principales problemas aquí es que la barra de navegación se superpone al modal, ¿ha intentado establecer el índice z del modal en un valor mayor? Esto establecería el modal sobre la barra de navegación y al cerrar el modal, también cerrará la barra de navegación.

Además de esto, intente jugar con la propiedad expandida de Navbar. Podrías crear un estado dentro de la barra de navegación

 const [isExpanded, setIsExpanded] = useState(`default_boolean_value`) <Navbar expanded={isExpanded}/>

en qué lugar al hacer clic en un elemento desplegable dentro del componente secundario, puede establecer el estado de la barra de navegación en expandido = falso

aquí está la documentación, puede encontrar accesorios expandidos aquí https://react-bootstrap.github.io/components/navbar/

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda