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

159
Visualizações
Establezca la propiedad anidada del objeto json usando la notación de corchetes en la solicitud PUT (svelte + strapi)

Estoy usando Svelte y Strapi para el proyecto. Aquí hay una versión simplificada de mi problema:

El json donde quiero enviar mi solicitud PUT. ( localhost:1337/shapes/1 )

 { id: 1, name: 'square', colors: { red: false, blue: false, green: false } }

Los botones de alternar en la plantilla esbelta:

 {#each shapes as shape} <div on:click={toggleColor(shape, "red")}>red</div> <div on:click={toggleColor(shape, "blue")}>blue</div> <div on:click={toggleColor(shape, "green")}>green</div> {/each}

La función de alternar (ver comentarios para encontrar lo que falta):

 function toggleColor(shape, color) { let index = shapes.indexOf(shape); axios.put(`http://localhost:1337/shapes/${shape.id}`, { // How to write this part to toggle a color? // The commented code below doesn't work as it doesn't set a color without // reseting others siblings // colors: { // [color]: shape.colors[color] ? false : true // } }) .then((res) => { coins[index].colors[color] = res.data.colors[color]; }) .catch((err) => { console.log(err.message) }); }

Para entender más claramente lo que sucede con esta versión, devuelve esta respuesta si hago clic en blue button y luego en el botón red button :

 { id: 1, name: 'square', colors: { red: true, blue: null, green: null } }

Respuesta esperada:

 { id: 1, name: 'square', colors: { red: true, blue: true, green: false } }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Casi estabas allí. El siguiente código:

 { colors: { [color]: shape.colors[color] ? false : true } }

...redefinirá los colors como un objeto con un solo color en él. Para obtener también los colores anteriores, use la sintaxis de propagación como:

 { colors: { ...shape.colors, [color]: shape.colors[color] ? false : true } }
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