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

534
Visualizações
Quiero crear un botón activar/desactivar en vue

Esta es mi mesa. Como puedes ver he añadido un botón para realizar una acción.

La acción debe cambiar de activo a no activo y de no activo a activo al hacer clic.

Parece que no puedo encontrar el área de SQL a la que puedo acceder, lo que me dificulta actualizar la base de datos al hacer clic. Cualquier sugerencia o ayuda será muy apreciada.

Si hay alguna forma de actualizar la base de datos al hacer clic en este botón, el nuevo valor también debería aparecer en la tabla de datos.

 <table class="table" id="myTable"> <thead> <tr> <th>Status</th> <th>Action</th> </tr> </thead> <tbody> <tr v-for="product in filteredProducts" :key="product.id"> <td>{{ product.status }}</td> <td> <div class="btn-group" role="group"> <button class="btn btn-secondary" @click="acdcProduct(product.id)">Active/Deactive</button> </div> </td> </tr> </tbody> </table>

Esto es lo que he intentado hacer hasta ahora. Lo siento, soy nuevo en vue.js

 acdcProduct(id) { this.axios .acdc(`http://localhost:8000/api/products/${id}`) let i = this.products.map(data => data.id).indexOf(id); this.products.status(i, active) }
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Ejemplo para el lado vue, también debe verificar si la actualización de la base de datos fue exitosa:

 new Vue({ el: '#demo', data() { return { products: [ {id: 1, name: 'prod 1', status: false}, {id: 2, name: 'prod 2', status: false}, {id: 3, name: 'prod 3', status: false}, {id: 4, name: 'prod 4', status: false}, {id: 5, name: 'prod 5', status: false}, ] } }, methods: { acdcProduct(id) { /*this.axios .acdc(`http://localhost:8000/api/products/${id}`)*/ let i = this.products.map(data => data.id).indexOf(id); this.products[i].status = !this.products[i].status } } })
 <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="demo"> <table class="table" id="myTable"> <thead> <tr> <th>Status</th> <th>Action</th> </tr> </thead> <tbody> <tr v-for="product in products" :key="product.id"> <td>{{ product.status ? 'active' : 'deactive' }}</td> <td> <div class="btn-group" role="group"> <button class="btn btn-secondary" @click="acdcProduct(product.id)" > Active/Deactive </button> </div> </td> </tr> </tbody> </table> </div>

about 4 years ago · Juan Pablo Isaza Relatório

0

deje que filteredProducts sea una matriz la primera vez que tiene todos los datos del producto y, después de actualizar los datos del producto, tiene una matriz de productos de actualización en respuesta y nuevamente actualiza la matriz de filteredProducts con nuevos datos actualizados.

 let filteredProducts = []; acdcProduct(id) { axios({ method: "PUT", url: `http://localhost:8000/api/products/${id}`, }).then((res) => { filteredProducts = res.data }); }
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