Vue

HTML

<div id="app">

Click below the item to remove it:

  <transition-group name="fade">
      <div v-for="(todo,index) in todos" :key="todo.text" @click="deleteItem(index)">
        {{ todo.text}}
      </div>
  </transition-group>
</div>


  <div class="row">
                <table class="table">
                    <thead>
                        <tr>
                        <th scope="col">Photo</th>
                        <th scope="col">Downvote</th>
                        <th scope="col">Upvote</th>
                        </tr>
                    </thead>
                    <tbody>
                        <transition-group name="fade">
                        <tr v-for="(photo, index) in photos" :key="photo.Id">
                            <td>{{photos.text}}</td>
                            <td><i class="fas fa-minus fa-3x downvote" @click="submitVote(index)"></i></td>
                            <td><i class="fas fa-plus fa-3x upvote" @click="submitVote(index)"></i></td>
                        
                        </tr>
                    </transition-group>
                    </tbody>
                </table>
            </div>

CSS

body {
  background: #20262E;
  padding: 20px;
  font-family: Helvetica;
}

#app {
  background: #fff;
  border-radius: 4px;
  padding: 20px;
  transition: all 0.2s;
}

div {
  background: blue;
  padding: 10px;
  margin-top: 10px;
  cursor: pointer;
}

.fade-leave-active {
  transition: all 1s;
}

.fade-leave-to {
  opacity: 0;
}

Vue

new Vue({
  el: "#app",
  data: {
    photos: [
      { text: "Learn JavaScript", done: false },
      { text: "Learn Vue", done: false },
      { text: "Play around in JSFiddle", done: true },
      { text: "Build something awesome", done: true }
    ]
  },
  methods: {
		submitVote(index) {
    	this.todos.splice(index, 1);
    }
  }
})