当前位置:首页 > VUE

vue实现表格搜索

2026-03-30 05:01:23VUE

实现表格搜索功能

在Vue中实现表格搜索功能可以通过以下方法完成:

数据绑定与搜索输入 创建Vue实例并绑定表格数据,添加搜索输入框:

<template>
  <div>
    <input v-model="searchQuery" placeholder="搜索...">
    <table>
      <tr v-for="item in filteredItems" :key="item.id">
        <td>{{ item.name }}</td>
        <td>{{ item.age }}</td>
      </tr>
    </table>
  </div>
</template>

<script>
export default {
  data() {
    return {
      searchQuery: '',
      items: [
        { id: 1, name: '张三', age: 25 },
        { id: 2, name: '李四', age: 30 }
      ]
    }
  }
}
</script>

计算属性过滤数据 使用计算属性实现实时搜索过滤:

computed: {
  filteredItems() {
    const query = this.searchQuery.toLowerCase()
    return this.items.filter(item => {
      return item.name.toLowerCase().includes(query) || 
             item.age.toString().includes(query)
    })
  }
}

多字段搜索优化 对于多字段搜索可以扩展过滤逻辑:

filteredItems() {
  const query = this.searchQuery.toLowerCase()
  return this.items.filter(item => {
    return Object.values(item).some(
      value => String(value).toLowerCase().includes(query)
    )
  })
}

添加防抖优化性能 对于大数据量表格可以添加防抖:

import { debounce } from 'lodash'

methods: {
  debouncedSearch: debounce(function() {
    this.filteredItems = this.items.filter(item => {
      return item.name.includes(this.searchQuery)
    })
  }, 300)
}

服务端搜索实现 对于大量数据可以考虑服务端搜索:

vue实现表格搜索

methods: {
  async searchItems() {
    const response = await axios.get('/api/items', {
      params: { search: this.searchQuery }
    })
    this.items = response.data
  }
}

标签: 表格vue
分享给朋友:

相关文章

vue实现功能

vue实现功能

Vue 功能实现方法 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。以下是实现常见功能的几种方法: 数据绑定与响应式更新 在 Vue 中,数据绑定通过 v-model…

vue实现批量

vue实现批量

Vue 实现批量操作的方法 在 Vue 中实现批量操作通常涉及选择多个项目并执行统一处理,例如批量删除、批量更新等。以下是几种常见实现方式: 表格多选批量操作 使用 el-table 配合复选框实现…

vue 实现筛选

vue 实现筛选

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

vue实现webapp

vue实现webapp

Vue 实现 WebApp 的基本步骤 环境准备 确保已安装 Node.js 和 npm/yarn。通过 Vue CLI 或 Vite 创建项目: npm install -g @vue/cli v…

vue 实现登录

vue 实现登录

Vue 实现登录功能 创建登录表单组件 在 Vue 项目中创建一个登录表单组件(如 Login.vue),包含用户名和密码输入框以及提交按钮。使用 v-model 实现双向数据绑定。 <tem…

vue实现答题

vue实现答题

Vue 实现答题功能 数据结构设计 使用 Vue 的响应式特性管理题目和答案数据。通常需要以下数据结构: data() { return { questions: [ {…