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

335
Views
¿Cómo puedo cambiar el color del botón de radio en el diseño de la hormiga - reaccionar?

Estoy usando una biblioteca llamada Ant Design que usa un tema de color en toda la interfaz, pero el componente del botón de opción no tiene la propiedad de cambiarlo fácilmente, mi objetivo es cambiar el color del botón de opción al presionar el botón de la papelera.

de este -> botón de papelera no seleccionado a este botón de papelera seleccionado

el método que uso aquí es cambiar el css del componente con !important de la siguiente manera:

 .ant-radio-button-checked, .ant-radio-button-inner, .ant-radio-button-inner, .ant-radio-button-wrapper-checked, .ant-radio-button-input:focus, .ant-radio-button-inner { border-color: #ff4d4f !important; color: #ff4d4f !important; } .ant-radio:hover, .ant-radio-button-wrapper:hover { color: #ff4d4f; }

pero no puedo volver atrás esta acción

mi componente de reacción es el siguiente:

 import { React, useState } from 'react'; import { Radio, Button } from 'antd'; import ShopSketch from './ShopSketch'; const Example = () => { const [selectedShop, setSelectedShop] = useState(false); const [deleteShop, setDeleteShop] = useState(false); const [shopNames, setShopNames] = useState(['shop1', 'shop2', 'shop3']); return ( <div> <Button danger onClick={() => setDeleteShop(!deleteShop)}> <ion-icon style={{ color: 'red', fontSize: '18px' }} name={deleteShop ? 'close-outline' : 'trash-outline'} ></ion-icon> </Button> <Radio.Group className="shops" onChange={(e) => { const selected = e.target.value; setSelectedShop(selected); }} > {shopNames.map((name, index) => ( <ShopSketch name={name} key={index} deleteShop={deleteShop} /> ))} </Radio.Group> </div> ); }; export default Example;

y el componente shopSketch es:

 import { Radio } from 'antd'; import { React } from 'react'; const ShopSketch = ({ name, deleteShop }) => { return ( <Radio.Button value={name} style={{ height: '200px', borderWidth: '2.5px' }} > <p>{name}</p> <ion-icon name="wallet-outline" size="big"></ion-icon> </Radio.Button> ); }; export default ShopSketch;

Intenté cambiar el estilo directamente en el botón de radio pero afecta a todos los elementos, importo condicionalmente el css pero no puedo revertir la acción Me quedé sin ideas, sé que soy un poco nuevo pero realmente agradecería si me podrian dar algun tipo de ayuda gracias de antemano.

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

0

finalmente, pude encontrar una pequeña solución

En el ejemplo, agregue SelectedShop como argumento:

 <ShopSketch name={name} key={index} deleteShop={deleteShop} selectedShop={selectedShop} />

En ShopSketch, agregue la tienda seleccionada y el estilo a radio.button:

 const ShopSketch = ({ name, selectedShop, deleteShop }) => <Radio.Button value={name} className={`shop ${deleteShop ? 'shop-delete' : ''}`} style={ selectedShop === name && deleteShop ? { border: '2.5px solid #ff4d4f', color: '#ff4d4f', } : { borderWidth: '2.5px' } } >

en CSS:

 .shop-delete:hover { color: #ff4d4f; }
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!