当前位置:首页 > 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实现cs

vue实现cs

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

vue实现 单选

vue实现 单选

实现 Vue 单选功能 在 Vue 中实现单选功能可以通过多种方式完成,以下是几种常见的方法: 使用 v-model 绑定单选按钮 通过 v-model 可以轻松实现单选功能,将单选按钮的值绑定到同…

vue实现选人

vue实现选人

实现选人功能的基本思路 在Vue中实现选人功能通常涉及以下核心环节:数据绑定、用户交互处理、状态管理以及界面渲染。以下是具体实现方法: 数据准备与组件结构 创建包含人员信息的数组,通常从API获取或…

vue底部实现

vue底部实现

Vue 底部实现方法 在 Vue 项目中实现底部布局可以通过多种方式完成,以下是一些常见的方法: 使用固定定位 将底部元素固定在页面底部,适用于单页应用或需要始终显示的底部栏。 <temp…

vue前端实现

vue前端实现

Vue 前端实现基础步骤 安装 Vue.js 和相关依赖 通过 npm 或 yarn 安装 Vue.js,建议使用 Vue CLI 快速搭建项目。运行命令 npm install -g @vue/cl…

vue实现动态禁用

vue实现动态禁用

动态禁用表单元素或按钮 在Vue中实现动态禁用功能通常通过v-bind:disabled(或简写为:disabled)绑定一个响应式变量实现。当变量值为true时,元素被禁用;为false时启用。…