Vue中删除数据后列表没更新是怎么回事?

南宫玉戈 阅读 2

我用 Vue 做了个简单的待办列表,添加和编辑都正常,但点击删除后页面上的列表没变化,虽然控制台打印的数组长度确实减少了。是不是响应式出了问题?

我试过用 splice 和 filter,也用了 this.$forceUpdate(),都不行。下面是关键代码:

<template>
  <div v-for="item in todos" :key="item.id">
    {{ item.text }}
    <button @click="removeTodo(item.id)">删除</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      todos: [{ id: 1, text: '学习CRUD' }]
    }
  },
  methods: {
    removeTodo(id) {
      this.todos = this.todos.filter(todo => todo.id !== id);
    }
  }
}
</script>
我来解答 赞 1 收藏
二维码
手机扫码查看
暂无解答

暂无解答