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

221
Vistas
Reaccionar: ¿Cómo creo un botón que solo aparece en ciertas filas de un DataGrid?

En esta aplicación web, tenemos 3 tipos diferentes de usuarios: Participantes, Voluntarios y Personal. Los voluntarios son los únicos usuarios que almacenamos su "disponibilidad" en horarios que el personal puede ver haciendo clic en el botón "Ver horario de voluntarios" junto a su fila en DataGrid.

Así es como se ve el DataGrid:

Imagen de cuadrícula de datos

En el extremo izquierdo, hay botones que abrirán una nueva pestaña con la información del horario del usuario.

Esta es la función de ese botón en ManageUser.jsx:

 /** * View Volunteer Schedule * @param e */ function viewVolunteerSchedule(e) { if (e.row.data.role !== "Volunteer") { alert("This user is not a volunteer.", "Error"); } else { let volunteerEmail = e.row.data.email; window.open("/admin/view-volunteer-schedule?email=" + volunteerEmail) } }

lo que quiero averiguar es que, en lugar de que este botón aparezca en cada fila, muestre un mensaje de error cuando se haga clic en un no voluntario: ¿cómo hago para que este botón solo aparezca en las filas donde se cumple la condición? "este usuario es un voluntario"?

El <DataGrid> en la declaración de devolución tiene el siguiente componente para representar esta columna:

 <Column type={"buttons"}> <Button text="View Schedule" icon="event" hint="View Volunteer Schedule" onClick={viewVolunteerSchedule}> </Button> </Column>

¿Cómo hago para acceder a la variable de "rol" de esta fila en particular en una cuadrícula de datos? ¿Para que pueda hacer que este botón solo sea visible bajo ciertas condiciones?

Intenté agregar la línea:

 visible={data.role==='Volunteer'}

pero estos no parecen ser los datos correctos, ya que solo los hizo invisibles. Cualquier ayuda o consejo es muy apreciado.

over 4 years ago · Santiago Trujillo
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