Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

100
Visualizações
¿Cómo puedo almacenar todos los valores dinámicos y etiquetas de atributos en un estado en reaccionar js?

Estoy usando reaccionar js. Tengo una matriz de atributos de objetos en mi página de un solo producto y estoy mostrando la matriz de objetos en la interfaz de usuario. La interfaz de usuario se ve así:

ingrese la descripción de la imagen aquí

Estoy tratando de obtener los valores de los atributos seleccionados, configuré el controlador onClick para obtener el valor y la etiqueta, pero solo obtengo el valor que se elimina después de hacer clic en el segundo atributo que no quiero. Quiero almacenar todos los valores y etiquetas de atributos en un estado. Los atributos son dinámicos, a veces serán 2 o más o ninguno.

Este es el código para los atributos dinámicos.

 {product?.attributes.map(attr => { return <div onClick={e => handleAttribute(e.target)} className=" mr-6 items-center"> <span className="mr-3"><b>{attr.label}</b></span><br /> <div className="relative"> <select className="rounded appearance-none border border-gray-200 py-2 focus:outline-none focus:border-indigo-500 text-base pl-3 pr-10"> {attr?.selected.map(select => { return <option>{select.label}</option> })} </select> })}

Esta es la función, pero estoy confundido acerca de cómo puedo obtener los valores y también etiquetar para cada atributo y se almacenará en un estado.

 const handleAttribute = (e) => { console.log(e, 'attr'); }

Mi salida esperada es algo como esto:

 [ {label: colors, selected: Black}, {label: Size, selected: M} ]

La base de datos de atributos se ve así:

 { attributes: [{ label: "colors", selected: [{ label: "Black", value: "Black" }, { label: 'Green', value: 'Green' }] }, { label: "size", selected: [{ label: "M", value: "M" }, { label: 'S', value: 'S' }] } ] }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

<select onChange((e) => handleAttribute(e))> { attr?.selected.map(select => { return <option value={select.value}>{select.label}</option> })} </select> const handleAttribute = (e) => { console.log(e.target.value); }

Espero que esto ayude básicamente a llamar a onChange en seleccionar y pasar el valor a las opciones

Luego, en el método handleAttribute , use e.target.value para obtener el valor de la opción seleccionada

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda