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

255
Views
Cómo cambiar el color y el nombre del botón en una celda específica en la tabla de interfaz de usuario del material

Estoy usando Material Table para mostrar mis datos. Aquí parece, https://i.postimg.cc/4x6hbm5N/image.png

He declarado un state arriba en mi código

 const [sharedOrdersList, setShareOrdersList] = useState([])

Cuando el User haga clic en el botón Share , enviaré el Order Id a sharedOrdersList . Funciona. Pero ahora mi problema era que quería cambiar el Nombre del botón a UnShare y el color del botón a otro color. Probé de varias maneras. pero no se como hacerlo

Aquí está mi código de función:

 const shareOrderBtnClick = (orderID) => { sharedOrdersList.push(orderID) alert("share Btn Clicked") console.log(sharedOrdersList) }

Código de retorno:

 allOrderDatas.map((row) => ( <TableRow> <TableCell"> <Button variant="contained" onClick={()=>{shareOrderBtnClick(row.orderID)}} style={{ backgroundColor:sharedOrdersList.includes(row.orderID)?"#59886B":"#D54062",}}> <ShareIcon />{sharedOrdersList.includes(row.orderID)?"UnShare":"Share"</Button> </TableCell> </TableRow>

No sé cómo cambiar el elemento específico en la celda de la fila de la tabla. Por favor, ayúdame con algunas soluciones.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Los estados en reaccionar son inmutables. useState devuelve un valor y una función de actualización. No puede cambiar directamente el valor. Para actualizar el estado, debe llamar a la función setShareOrdersList con el nuevo valor.

En tu ejemplo

 const shareOrderBtnClick = (orderID) => { setShareOrdersList([... sharedOrdersList, orderID]); // OR BETTER // setShareOrdersList(prevState => [...prevState, orderID]); }
about 4 years ago · Juan Pablo Isaza 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!