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

243
Vistas
Aplicar el atributo "marcado" al grupo de radio usando el estado React. Asigna, pero la entrada marcada no está aplicando estilos

Tengo un componente con cuatro entradas de radio en un grupo. Uno de ellos está escrito así:

 <div className="answer3 col-sm"> <label> <input type="radio" id="answer1" name="answer" value="A" checked={this.state.selectedOption === "A"} onChange={this.onValueChange} /> <img src="./images/answer1.png" alt="answer A" /> </label> </div>

El método onChange funciona para actualizar el estado, y registro en la consola el valor de la entrada que está verificada actualmente y muestra el valor correctamente. Tengo un estilo aplicado a los botones de radio que están marcados, básicamente cambiando el borde, y no se está aplicando. El estilo (solo para probar) es como tal:

 input[type="radio"]:checked { background-color: rgb(117, 17, 17); }

¿Esto se debe a que el atributo "marcado" se agrega dinámicamente, evitando la capacidad de CSS para aplicar estilos de manera adecuada?

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

no se debe al atributo dinámico 'marcado'. solo intente aplicar el estilo de entrada del botón de opción usando :after de la pseudo clase. Funcionará.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Por lo que puedo ver, su código React parece estar bien ... este es un problema de CSS con el botón de opción y su problema de aceptar un cambio de color de fondo. Lo que se puede hacer con los botones de radio es cambiar el accent-color de lo que recuerdo.

Esto es prácticamente imposible e incluso si pudiera resolver algo, es probable que funcione en algunos navegadores y no en otros.

Pero aún así, creo que puedes probar algo tan simple como el siguiente.

 div { margin:10px; } .radio-btn:checked + label { color: blue; }
 <div> <input type="radio" class="radio-btn" id="1" value="1" name="radbtn"/> <label for="1">Radio Option 1</label><br/> <input type="radio" class="radio-btn" id="2" value="2" name="radbtn"/> <label for="2">Radio Option 2</label><br/> <input type="radio" class="radio-btn" id="3" value="3" name="radbtn"/> <label for="3">Radio Option 3</label> </div>

Eche un vistazo y vea si puede funcionar para usted.

about 4 years ago · Juan Pablo Isaza Denunciar

0

¿Puede intentar usar la propiedad de estilo calculado y aplicar estilos en consecuencia? Por ejemplo

 <div className="answer3 col-sm"> <label> <input className={value ? 'some-checked-class' : ''} type="radio" id="answer1" name="answer" value={value} checked={this.state.selectedOption === 'A'} onChange={this.onValueChange} /> <img src="./images/answer1.png" alt="answer A" /> </label> </div>

about 4 years ago · Juan Pablo Isaza 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