当前位置:首页 > VUE

vue实现搜索表格

2026-02-18 21:20:19VUE

Vue 实现搜索表格的方法

数据绑定与表格渲染

使用 Vue 的 v-for 指令渲染表格数据,绑定到 data 中的数组。例如:

<table>
  <tr v-for="item in filteredItems" :key="item.id">
    <td>{{ item.name }}</td>
    <td>{{ item.age }}</td>
  </tr>
</table>

搜索功能实现

在 Vue 实例的 data 中定义搜索关键词和原始数据:

data() {
  return {
    searchQuery: '',
    items: [
      { id: 1, name: 'Alice', age: 25 },
      { id: 2, name: 'Bob', age: 30 }
    ]
  }
}

计算属性过滤数据

通过计算属性实现实时搜索过滤:

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

输入框绑定搜索

在模板中添加搜索输入框,使用 v-model 双向绑定:

<input 
  type="text" 
  v-model="searchQuery" 
  placeholder="Search..."
>

样式优化(可选)

添加基础样式提升用户体验:

input {
  padding: 8px;
  margin-bottom: 16px;
  width: 100%;
  max-width: 400px;
}
table {
  width: 100%;
  border-collapse: collapse;
}
td, th {
  padding: 8px;
  border: 1px solid #ddd;
}

高级功能扩展

对于大型数据集,可考虑:

  • 添加防抖处理减少频繁计算
  • 实现多列组合搜索
  • 加入分页功能

示例防抖实现:

import _ from 'lodash'

export default {
  data() {
    return {
      searchQuery: '',
      items: [...],
      debouncedFilter: null
    }
  },
  created() {
    this.debouncedFilter = _.debounce(this.updateFilter, 300)
  },
  methods: {
    updateFilter() {
      // 过滤逻辑
    }
  }
}

vue实现搜索表格

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

相关文章

vue调用接口实现退出

vue调用接口实现退出

实现Vue退出功能的步骤 在Vue中调用接口实现退出功能通常需要与后端API交互,以下是实现方法: 前端实现 创建退出方法,调用后端API接口: methods: { logout() {…

vue原型实现

vue原型实现

Vue 原型实现的关键点 Vue.js 的原型系统是其响应式机制的核心部分,通过原型链实现数据的动态绑定和依赖收集。以下是实现 Vue 原型的主要技术要点。 数据响应式原理 Vue 通过 Objec…

vue评分实现

vue评分实现

Vue 评分组件实现方法 使用第三方库(如 Element UI) 安装 Element UI: npm install element-ui 引入并注册组件: import Vue from '…

实现vue datepicker

实现vue datepicker

安装依赖 使用 vue-datepicker 或第三方库如 v-calendar 或 vue2-datepicker。以 vue2-datepicker 为例: npm install vue…

vue遮罩实现

vue遮罩实现

实现 Vue 遮罩的常见方法 使用 CSS 定位和透明度 创建一个全屏遮罩层,通过 CSS 固定定位覆盖整个视口,并设置半透明背景色。 <template> <div c…

mvvm实现vue

mvvm实现vue

MVVM 模式在 Vue 中的实现 MVVM(Model-View-ViewModel)是一种前端架构模式,Vue 的设计灵感来源于此。以下是 MVVM 在 Vue 中的核心实现方式: 数据绑定(…