当前位置:首页 > VUE

vue如何实现表格查询

2026-02-22 12:58:41VUE

Vue 表格查询实现方法

基于计算属性的前端过滤

通过计算属性对表格数据进行过滤,适用于数据量较小的场景。定义查询输入框绑定到 searchQuery,计算属性 filteredData 实时返回匹配结果。

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

<script>
export default {
  data() {
    return {
      searchQuery: '',
      tableData: [
        { id: 1, name: '张三', age: 25 },
        { id: 2, name: '李四', age: 30 }
      ]
    }
  },
  computed: {
    filteredData() {
      return this.tableData.filter(item => 
        item.name.includes(this.searchQuery) || 
        item.age.toString().includes(this.searchQuery)
      )
    }
  }
}
</script>

使用第三方组件库

Element UI 或 Ant Design Vue 等库提供封装好的表格查询功能。以 Element UI 为例:

<template>
  <el-input v-model="searchQuery" placeholder="输入关键字"></el-input>
  <el-table :data="filteredData">
    <el-table-column prop="name" label="姓名"></el-table-column>
    <el-table-column prop="age" label="年龄"></el-table-column>
  </el-table>
</template>

后端接口查询

对于大数据量场景,通过 API 接口实现服务端查询:

methods: {
  async fetchData() {
    const res = await axios.get('/api/data', {
      params: { keyword: this.searchQuery }
    })
    this.tableData = res.data
  }
},
watch: {
  searchQuery() {
    this.fetchData()
  }
}

多条件高级查询

构建查询对象处理复杂条件:

data() {
  return {
    query: {
      name: '',
      age: null,
      dateRange: []
    }
  }
},
methods: {
  buildQueryParams() {
    const params = {}
    if (this.query.name) params.name = this.query.name
    if (this.query.age) params.age = this.query.age
    if (this.query.dateRange.length === 2) {
      params.startDate = this.query.dateRange[0]
      params.endDate = this.query.dateRange[1]
    }
    return params
  }
}

性能优化建议

对于大规模数据:

vue如何实现表格查询

  • 使用防抖(debounce)控制搜索触发频率
  • 添加加载状态避免界面卡顿
  • 考虑分页加载数据

分享给朋友:

相关文章

用css制作表格

用css制作表格

使用CSS制作表格 CSS可以用来样式化HTML表格,使其更具视觉吸引力和功能性。以下是几种常见的方法: 基础表格样式 通过CSS可以调整表格的边框、间距和颜色: <table>…

vue实现子表格

vue实现子表格

实现子表格的基本思路 在Vue中实现子表格通常需要结合组件化思想和动态渲染技术。常见的场景是在主表格的行内嵌套子表格,展开主表行时显示对应的子表数据。 使用el-table实现子表格(Element…

vue表格组件实现

vue表格组件实现

Vue表格组件实现 基础表格实现 使用el-table组件实现基础表格功能。安装Element UI后,引入el-table和el-table-column组件。 <template>…

vue表格实现单选

vue表格实现单选

实现 Vue 表格单选功能 使用 v-model 绑定选中状态 在表格的每一行添加单选按钮或点击行触发选中,通过 v-model 绑定一个变量存储当前选中行的唯一标识(如 id)。 示例代码:…

vue如何实现轮播

vue如何实现轮播

使用 Vue 实现轮播 使用第三方库(推荐) Vue 生态中有许多成熟的轮播组件库,例如 vue-awesome-swiper 或 swiper。以下是使用 vue-awesome-swiper 的示…

表格制作css

表格制作css

CSS表格样式设计 基础表格样式 通过border-collapse合并边框,使表格更整洁。width控制整体宽度,text-align设置文字对齐方式。 table { border-coll…