Hay 2 botones de alternar. Si el valor es true , agregue a la array ; de lo contrario, elimine el elemento.
datos:
originality: []alterna:
<toggle id='1' ref='toggleOriginal'> Click </toggle> <toggle id='2' ref='toggleAnalog'> Click </toggle>métodos:
if(this.$refs.toggleOriginal.isActive) { this.originality.push(this.$refs.toggleOriginal.id); } else { this.originality = this.originality.filter((item) => { return item == this.$refs.toggleOriginal.id; }); } if(this.$refs.toggleAnalog.isActive) { this.originality.push(this.$refs.toggleAnalog.id); } else { this.originality = this.originality.filter((item) => { return item == this.$refs.toggleAnalog.id; }); } Y lo mismo para el segundo. En isActive si es true / false . el problema es que si dos alternar es true y quiero convertir uno en false , entonces se elimina el elemento incorrecto. ¿Quizás deberías usar una funcionalidad diferente?
Para eliminar de la matriz usando el filtro, debe probar la no igualdad. Su ejemplo usa igualdad, y eso eliminará todo menos su artículo.
this.originality = this.originality.filter((item) => { return item !== this.$refs.toggleOriginal.id; });o empalme
const index = this.originality.indexOf(this.$refs.toggleOriginal.id) this.originality.splice(index, 1)