当前位置:首页 > VUE

vue实现多远删除

2026-03-09 20:53:48VUE

实现 Vue 多选删除功能

数据绑定与复选框

在 Vue 组件中定义一个数组存储选中的项,使用 v-model 绑定复选框:

data() {
  return {
    items: [
      { id: 1, name: 'Item 1' },
      { id: 2, name: 'Item 2' }
    ],
    selectedItems: []
  }
}

模板中使用 v-for 渲染列表,并为每个项添加复选框:

vue实现多远删除

<div v-for="item in items" :key="item.id">
  <input type="checkbox" v-model="selectedItems" :value="item.id">
  {{ item.name }}
</div>

删除方法实现

创建一个方法处理删除逻辑,过滤掉选中的项:

methods: {
  deleteSelected() {
    this.items = this.items.filter(
      item => !this.selectedItems.includes(item.id)
    )
    this.selectedItems = [] // 清空选中状态
  }
}

按钮触发删除

在模板中添加删除按钮绑定该方法:

vue实现多远删除

<button @click="deleteSelected" :disabled="!selectedItems.length">
  删除选中项
</button>

使用计算属性优化

可以添加计算属性判断是否有选中项,控制按钮状态:

computed: {
  hasSelected() {
    return this.selectedItems.length > 0
  }
}

按钮绑定改为:

<button @click="deleteSelected" :disabled="!hasSelected">
  删除选中项
</button>

完整组件示例

<template>
  <div>
    <div v-for="item in items" :key="item.id">
      <input type="checkbox" v-model="selectedItems" :value="item.id">
      {{ item.name }}
    </div>
    <button @click="deleteSelected" :disabled="!hasSelected">
      删除选中项
    </button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      items: [
        { id: 1, name: 'Item 1' },
        { id: 2, name: 'Item 2' }
      ],
      selectedItems: []
    }
  },
  computed: {
    hasSelected() {
      return this.selectedItems.length > 0
    }
  },
  methods: {
    deleteSelected() {
      this.items = this.items.filter(
        item => !this.selectedItems.includes(item.id)
      )
      this.selectedItems = []
    }
  }
}
</script>

标签: 多远vue
分享给朋友:

相关文章

vue实现用户信息删除

vue实现用户信息删除

Vue 实现用户信息删除功能 在 Vue 中实现用户信息删除功能通常涉及前端界面交互和后端 API 调用。以下是实现步骤: 前端界面设计 创建删除按钮或操作项,通常使用 @click 事件触发删除操…

实现vue

实现vue

安装Vue.js 通过npm安装Vue.js是最常见的方式。确保已安装Node.js和npm,运行以下命令: npm install vue 或者使用CDN直接引入: <script src…

vue 实现筛选

vue 实现筛选

实现筛选功能的基本方法 在Vue中实现筛选功能通常涉及以下几个核心步骤: 数据绑定与筛选逻辑 使用v-model绑定筛选条件到Vue实例的数据属性,结合计算属性实现动态筛选: data() {…

vue实现slidetoggle

vue实现slidetoggle

Vue 实现 SlideToggle 效果 SlideToggle 是一种常见的交互效果,元素以滑动方式展开或收起。以下是几种实现方法: 使用 CSS Transition 和 v-show…

vue实现通讯

vue实现通讯

Vue 组件通讯方法 父子组件通讯 父组件向子组件传递数据通过 props,子组件向父组件传递数据通过 $emit 事件。 父组件模板: <child-component :message=…

vue实现烟花

vue实现烟花

Vue 实现烟花效果 在 Vue 中实现烟花效果可以通过结合 CSS 动画和 JavaScript 动态生成烟花元素。以下是具体实现方法: 动态生成烟花元素 通过 Vue 的 v-for 动态生成烟…