当前位置:首页 > VUE

vue简单查询功能实现

2026-01-23 16:53:43VUE

实现 Vue 简单查询功能

1. 创建 Vue 实例与数据绑定

在 Vue 实例的 data 中定义查询关键词 searchQuery 和数据列表 items。通过 v-model 实现输入框与数据的双向绑定。

<div id="app">
  <input v-model="searchQuery" placeholder="输入关键词查询">
  <ul>
    <li v-for="item in filteredItems" :key="item.id">
      {{ item.name }}
    </li>
  </ul>
</div>
new Vue({
  el: '#app',
  data: {
    searchQuery: '',
    items: [
      { id: 1, name: 'Apple' },
      { id: 2, name: 'Banana' },
      { id: 3, name: 'Orange' }
    ]
  }
})

2. 使用计算属性实现过滤

通过 computed 计算属性实时过滤数据,避免直接修改原始数据。使用 filterincludes 方法实现不区分大小写的匹配。

computed: {
  filteredItems() {
    return this.items.filter(item => 
      item.name.toLowerCase().includes(this.searchQuery.toLowerCase())
    )
  }
}

3. 优化查询性能(可选)

vue简单查询功能实现

对于大数据量场景,可通过以下方式优化:

  • 使用 debounce 延迟触发查询
  • 对数据预先建立索引
  • 分页加载结果
// 使用 lodash 的 debounce
methods: {
  debouncedSearch: _.debounce(function() {
    this.filteredItems = this.items.filter(item =>
      item.name.toLowerCase().includes(this.searchQuery.toLowerCase())
    )
  }, 300)
}

4. 添加空状态提示

当查询结果为空时显示友好提示,提升用户体验。

vue简单查询功能实现

<div v-if="filteredItems.length === 0">
  没有找到匹配的结果
</div>

5. 样式美化(可选)

添加基础 CSS 样式使界面更美观:

input {
  padding: 8px;
  width: 200px;
  margin-bottom: 10px;
}
ul {
  list-style: none;
  padding: 0;
}
li {
  padding: 5px;
  border-bottom: 1px solid #eee;
}

以上实现方案具有以下特点:

  • 响应式更新查询结果
  • 不区分大小写匹配
  • 代码简洁易于维护
  • 可扩展性强

分享给朋友:

相关文章

实现简单vue

实现简单vue

实现一个简单的 Vue.js 框架 Vue.js 的核心功能包括数据绑定、响应式系统和虚拟 DOM。以下是一个简化版的 Vue 实现,涵盖基本功能。 数据响应式系统 使用 Object.define…

vue  简单菜单实现

vue 简单菜单实现

实现简单菜单的步骤 在 Vue 中实现一个简单的菜单,可以通过以下方法完成: 使用 v-for 动态渲染菜单项 在 Vue 的模板中,使用 v-for 遍历菜单数据,动态生成菜单项。 <…

vue实现简单弹幕效果

vue实现简单弹幕效果

实现基础弹幕效果 在Vue中实现弹幕效果需要结合CSS动画和动态数据渲染。以下是一个基础实现方案: 模板部分 <template> <div class="danmu-con…

简单vue状态管理实现

简单vue状态管理实现

Vue 状态管理实现方法 使用 Vue 的响应式系统 Vue 的响应式系统可以轻松实现简单的状态管理。通过创建一个响应式对象,可以在多个组件之间共享状态。 // store.js import {…

php实现简单留言板

php实现简单留言板

创建数据库表结构 使用MySQL创建一个名为messages的表,包含id、name、email、content和created_at字段: CREATE TABLE messages (…

js实现简单计算器

js实现简单计算器

实现基础功能 创建一个HTML文件,包含数字按钮、运算符按钮和显示结果的输入框。基本结构如下: <!DOCTYPE html> <html> <head>…