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

164
Visualizações
Cómo volver a representar el estado de la casilla de verificación al mapear sobre el estado

Tengo un componente donde puedo seleccionar varias casillas de verificación. Para cada casilla de verificación seleccionada, se genera un chip que ilustra las casillas de verificación seleccionadas. Estos chips tienen un controlador de eliminación que puede eliminar las selecciones (como la propia casilla de verificación9). Esto funciona hasta ahora, pero si uso los chips para eliminar la selección, el estado de la casilla de verificación correspondiente no se ajusta.

¿Qué estoy haciendo mal?

Aquí está la representación de mis casillas de verificación (simplificado):

 {filteredData(data)?.map((data, index) => ( <CheckBox // some other props selected={selected.includes(data.id)} onChange={() => handleState(data.id)} /> ))}

Aquí está la representación de mis fichas:

 {selected.map((checkbox) => ( <Chip onDelete={() => handleState(checkbox.id, true)} /> ))}

Aquí está el método del controlador:

 const [selected, setSelected] = useState([]); const handleState = (id: string, withC?: boolean): void => { const selectedCB = [...selected]; const index = selectedCB.findIndex((item) => item.id === id); if (index > -1 || withC) { selectedCB.splice(index, 1); } else { selectedCB.push(data.find((item) => item.id === id)); } setSelected(selectedCB); };
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Tiene el problema con la condición de casilla de verificación selected . La siguiente línea:

 selected={selected.includes(data.id)}

Tenga en cuenta que selected es una matriz de objetos, por lo que la verificación de include includes() con data.id no funcionará. Reemplace su lógica seleccionada con

 selected={selected.find(cb => cb.id === data.id)

¡Deberia de funcionar!

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