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

153
Vistas
Establezca la clase solo para un botón a la vez en la fila de la tabla MaterialUI

Estoy usando Material UI con TypeScript en React. Cuando un usuario hace clic en el botón, quiero que se resalte el botón. Actualmente, este código cambiará el color de los botones, pero cuando hago clic en otro botón, también se resalta. Estoy tratando de tener solo un botón resaltado a la vez, así que cuando hago clic en un botón diferente, quiero que el botón anterior se configure en la clase normal y el nuevo botón se configure en la clase en la que se hizo clic. Si vuelvo a hacer clic en el botón, eliminará la clase, pero solo quiero que la clase "en la que se hizo clic" sea solo el botón actual. He visto esto hecho con índices, pero me pregunto cuál sería la mejor manera de abordar esto. Cualquier ayuda es apreciada.

Actualmente estoy diseñando la clase en la que se hizo clic en index.css para anular los temas de material-ui:

index.css

 .btnClass.clicked { background-color: #1976D2; color: #FFFFFF; }
 // ... <TableBody> {state.currentUsers .slice( page * rowsPerPage, page * rowsPerPage + rowsPerPage ) .map((users) => { return ( <SelectUser key={Number(user.uid)} name={user.name} /> ); })} </TableBody>
 import React, { useState } from "react"; import Button from "@material-ui/core/Button"; import TableCell from "@material-ui/core/TableCell"; import TableRow from "@material-ui/core/TableRow"; import { useStyles } from "./useStyles"; export function SelectUser(props) { const classes = useStyles(); const [btnClass, setBtnClass] = useState(false); return ( <TableRow className={classes.tableRow} key={props.uid}> <TableCell component="th" scope="row" align="left"> // when button is clicked, set current button to clicked class and all other buttons to unclicked <Button className={btnClass ? "btnClass clicked" : "btnClass"} onClick={() => { props.setUser(props.user); btnClass ? setBtnClass(false) : setBtnClass(true); // set previous button to unclicked }} > { props.id} </Button> </TableCell> <TableCell component="th" scope="row" align="right"> {props.name} </TableCell> </TableRow> ); }
about 4 years ago · Juan Pablo Isaza
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