VueJS supprimer un élément des listes?

il est possible de supprimer un élément spécifique des listes. j'ai essayé cette fonction pour supprimer l'élément

pop() = supprimer le dernier élément

$remove(index) = ne pas supprimer n'importe quel élément à partir de listes

remove (index ) = undefined function

unshift( index ) = ajouter de nouveaux et d'élément vide

splice( index ) = supprimer tout élément à partir de l'index

merci de m'aider à supprimer un élément à partir de listes.

ci-dessous est mon code js

var example2 = new Vue({
  el: '#example-2',
  data: {
    items: [
      { message: 'Foo' },
      { message: 'Bar' },
      { message: 'Bar1' },
      { message: 'Bar2' },
      { message: 'Bar3' },
      { message: 'Bar4' }
    ]
  },
  methods : {
    removeElement : function(index){
        this.items.$remove(index);
    }
  }
})

ci-dessous est mon code HTML

<ul id="example-1">
  <li v-for="(key, item) in items">
    {{ item.message }}
    <button v-on:click="removeElement(key)">remove</button>
  </li>
</ul>
26
demandé sur Mantas D 2016-02-17 17:10:44

5 réponses

$remove est déprécié en Vue.js 2.0 et remplacé par splice pour que cela fonctionne.

Migration De Vue 1.x-2.0

methods: {
  removeElement: function (index) {
    this.items.splice(index, 1);
  }
}
45
répondu jonan.pineda 2016-11-17 15:54:45

Vous pouvez utiliser Vue.supprimer si votre version Vue est 2.2.0+

Vue.delete(this.items, index);
20
répondu Lukasz Wiktor 2017-03-03 06:38:16

$.remove fonctionnalité a été remplacée par $.delete.

Vous pouvez l'appeler comme ceci:

this.$delete(this.someItems, itemIndex).

Il fonctionne sur Object ainsi que Array. Avec des objets, vous devez utiliser un objet incrusté. Avec les tableaux, vous pouvez passer l'index de l'élément que vous souhaitez supprimer.

voici un exemple de violon:https://jsfiddle.net/james2doyle/386w72nn/

EDIT

j'ai ajouté un exemple pour un tableau ainsi

11
répondu james2doyle 2017-05-25 17:04:15

$supprimer pouvez utiliser inline dans @clic:

<ul id="example">
   <li v-for="(item, key) in items">
       {{ item.message }}
       <button @click="$delete(items, key)">remove</button>
   </li>
</ul>

https://vuejs.org/v2/api/#vm-delete

3
répondu Mohsen 2018-03-01 12:48:23

tout d'Abord, vous devez corriger l' methods clé.

ensuite, vous devez passer l'article à la $remove méthode, pas le index. [ref]

https://jsfiddle.net/790og9w6/

2
répondu Pantelis Peslis 2016-02-17 14:51:20