当前位置:首页 > VUE

vue怎么实现选中删除

2026-02-25 19:18:08VUE

实现选中删除功能

在Vue中实现选中删除功能通常需要结合复选框或单选按钮与数据绑定。以下是实现步骤:

数据绑定与复选框

创建一个数组来存储选中的项ID,使用v-model绑定复选框:

vue怎么实现选中删除

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

删除方法实现

在methods中定义删除方法,过滤掉选中的项:

vue怎么实现选中删除

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

批量删除优化

对于大量数据,建议使用ID集合进行后端删除:

methods: {
  async deleteSelected() {
    if (this.selectedItems.length === 0) return

    try {
      await axios.delete('/api/items', { data: { ids: this.selectedItems } })
      this.items = this.items.filter(item => 
        !this.selectedItems.includes(item.id)
      )
      this.selectedItems = []
    } catch (error) {
      console.error('删除失败', error)
    }
  }
}

全选功能扩展

添加全选复选框提升用户体验:

<input type="checkbox" v-model="selectAll" @change="toggleAll">
computed: {
  selectAll: {
    get() {
      return this.items.length > 0 && 
        this.selectedItems.length === this.items.length
    },
    set(value) {
      this.selectedItems = value ? 
        this.items.map(item => item.id) : []
    }
  }
}

标签: vue
分享给朋友:

相关文章

vue实现app

vue实现app

Vue 实现 App 的常见方法 使用 Vue 开发移动端 App 主要有两种主流方案:混合开发(Hybrid)和原生渲染。以下是具体实现方式和工具链: 混合开发方案(WebView 嵌入) 通…

vue实现cs

vue实现cs

Vue 实现 CS(Client-Side)渲染的常见方法 Vue.js 是一个用于构建用户界面的渐进式框架,默认采用客户端渲染(CSR)。以下是几种常见的实现方式: 使用 Vue CLI 创建项…

vue实现RTMP

vue实现RTMP

Vue 中实现 RTMP 流播放 RTMP(Real-Time Messaging Protocol)是一种用于实时音视频流传输的协议。在 Vue 中实现 RTMP 播放通常需要借助第三方库或播放器。…

vue实现前端

vue实现前端

Vue 实现前端的核心方法与步骤 安装 Vue 项目 使用 Vue CLI 或 Vite 创建项目。Vue CLI 是传统构建工具,Vite 是新一代轻量级工具。 npm init vue@la…

vue实现树

vue实现树

Vue 实现树形结构的方法 使用递归组件实现树形结构 递归组件是Vue中实现树形结构的常见方式。通过组件调用自身,可以轻松构建多层嵌套的树形数据。 <template> <u…

vue实现分栏

vue实现分栏

Vue实现分栏的常见方法 使用CSS Flexbox布局 通过Flexbox可以快速实现分栏效果,适合大多数响应式布局场景 <template> <div class="con…