Tengo este código y obtengo una matriz en la variable de información. El problema está en el botón de eliminar que llama a la función de eliminar pasando la identificación como parámetro, pero pasa la primera identificación a todos los elementos, por lo que cuando elimino cualquier elemento, elimina el primero en lugar de hacer referencia al botón.
<tr> <th scope="row">{{info.product_key}}</th> <td>{{info.name}}</td> <td>{{info.quantities}}</td> <td>{{info.quatities_sold}}</td> <td>{{info.cost_price}}</td> <td>{{info.sale_price}}</td> <td><button @click="showEditModal" class="btn btn-warning">editar</button></td> <EditProductModal :_id=info._id :product_key=info.product_key :product_name=info.name :quantities=info.quantities :quantities_sold=info.quatities_sold :cost_price=info.cost_price :sale_price=info.sale_price :categories=info.categories /> <td><button @click="remove(info._id)" class="btn btn-danger">excluir</button></td> </tr> </tbody>```Como dijiste I get an array in the info variable pero parece que en lugar de iterar, la estás usando directamente. Si lo está iterando correctamente usando v-for , debería pasar la ID correcta.
Demostración de trabajo:
const app = new Vue({ el: '#app', data: { info: [{ '_id': 1, 'name': 'alpha' }, { '_id': 2, 'name': 'beta' }, { '_id': 3, 'name': 'gama' }] }, methods: { remove(itemID) { console.log(itemID); } } }) <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="app"> <table> <tr v-for="item in info" :key="item._id"> <td>{{item.name}}</td> <td><button @click="remove(item._id)">excluir</button></td> </tr> </table> </div>