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

114
Visualizações
Reaccionar-seleccionar. Dos selecciones basadas en una fuente

Tengo datos en el servidor y dos selecciones de reacción. Estos son mis datos JSON:

 [{ "KIA": [ { "id": 1, "name": "Rio" }, { "id": 2, "name": "Sorento" }, { "id": 3, "name": "Stinger" } ] },{ "VOLKSWAGEN": [ { "id": 4, "name": "Polo" }, { "id": 5, "name": "Golf" }, { "id": 6, "name": "Tiguan" }, ] }]

Esta es mi primera selección donde obtuve una variedad de autos del servidor y los puse en el estado 'autos'. Funcionó, ahora puedo elegir marcas.

 <Select options={ cars.map(c => ( { value: Object.keys(c), label: Object.keys(c) } )) } />

Así que esto es lo que quiero para la segunda selección:
Si elijo la marca KIA en la primera selección --> tengo las opciones 'Rio, Sorento, Stringer' en la segunda selección.
Si elijo la marca VOLKSWAGEN en la primera selección --> tengo las opciones 'Polo, Gold, Tiguan' en la segunda selección.
¿Hay alguna manera de vincular dos selecciones a una pieza de datos donde las opciones de la segunda selección dependen de la opción seleccionada en la primera selección? Puaj..

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

En la primera selección, comience inicializando selected_sub_cats a [] en el estado

 <Select options={ cars.map(c => ( { value: Object.keys(c), label: Object.keys(c) } )) } onChange={(v)=>this.setState({selected: v, selected_sub_cats: cars.filter(car =>Object.keys(car) === v)})} />

Luego en la segunda selección

 <Select options={this.state.selected_sub_cars} onChange={(v)=>this.setState({selected_sub: v, })} />
about 4 years ago · Juan Pablo Isaza Relatório

0

Este fragmento de código es muy inexacto, tendrá que formatear los datos y depurarlos ya que no lo ejecuté. Es solo para darle una idea general sobre la lógica:

 const dataSet = [{ "KIA": [ { "id": 1, "name": "Rio" }, { "id": 2, "name": "Sorento" }, { "id": 3, "name": "Stinger" } ] },{ "VOLKSWAGEN": [ { "id": 4, "name": "Polo" }, { "id": 5, "name": "Golf" }, { "id": 6, "name": "Tiguan" }, ] }]

El componente comienza aquí:

 const [ selectedBrand, setSelectedBrand ] = useState() const [ selectedModel, setSelectedModel ] = useState() const [ brandOptions, setBrandOptions ] = useState(Object.keys(dataSet)) const [ modelOptions, setModelOptions ] = useState() // Based on the brand you select, the useEffect should set the relevant options for the models useEffect(()=>{ setModelOptions(brandOptions[selectedBrand]) },[selectedBrand]) function handleChangeBrand(brand){ setSelectedBrand(brand) } function handleChangeModel(model){ setSelectedModel(model) } return ( <Select value={selectedBrand} onChange={(value) => handleChangeBrand(value)} options={brandOptions} /> <Select value={selectedModel} onChange={(value) => handleChangeModel(value)} options={modelOptions} />
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