当前位置:首页 > VUE

vue实现搜索产品列表

2026-01-23 06:05:58VUE

Vue 实现搜索产品列表

数据准备

在Vue组件的data中定义产品列表和搜索关键词。产品列表可以是从API获取或本地定义的数据。

data() {
  return {
    products: [
      { id: 1, name: '产品A', price: 100 },
      { id: 2, name: '产品B', price: 200 },
      { id: 3, name: '产品C', price: 300 }
    ],
    searchQuery: ''
  }
}

计算属性过滤

使用计算属性根据搜索关键词过滤产品列表。计算属性会自动更新,无需手动触发。

vue实现搜索产品列表

computed: {
  filteredProducts() {
    return this.products.filter(product => 
      product.name.toLowerCase().includes(this.searchQuery.toLowerCase())
    )
  }
}

模板绑定

在模板中绑定搜索输入框和过滤后的产品列表。使用v-model实现双向绑定。

<template>
  <div>
    <input v-model="searchQuery" placeholder="搜索产品...">
    <ul>
      <li v-for="product in filteredProducts" :key="product.id">
        {{ product.name }} - {{ product.price }}
      </li>
    </ul>
  </div>
</template>

样式优化

添加基本样式提升用户体验。例如为搜索框和列表添加间距和边框。

vue实现搜索产品列表

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

异步数据加载

如果产品数据需要从API异步获取,可以在created或mounted钩子中调用方法。

methods: {
  fetchProducts() {
    // 模拟API调用
    setTimeout(() => {
      this.products = [
        { id: 4, name: '产品D', price: 400 },
        { id: 5, name: '产品E', price: 500 }
      ]
    }, 1000)
  }
},
created() {
  this.fetchProducts()
}

性能优化

对于大型列表,考虑添加防抖或分页功能。使用lodash的debounce方法可以限制搜索频率。

import { debounce } from 'lodash'

methods: {
  search: debounce(function() {
    // 搜索逻辑
  }, 500)
}

标签: 列表产品
分享给朋友:

相关文章

jquery 列表

jquery 列表

jQuery 列表操作 jQuery 提供了多种方法来操作 HTML 列表(如 <ul> 或 <ol>)。以下是一些常见的操作方式: 动态添加列表项 使用 append()…

vue实现列表多选

vue实现列表多选

Vue 实现列表多选的方法 使用 v-model 绑定数组 通过 v-model 绑定一个数组,可以轻松实现多选功能。当复选框被选中或取消选中时,数组会自动更新。 <template>…

vue实现滚动列表

vue实现滚动列表

Vue 实现滚动列表的方法 使用 CSS 实现基础滚动 通过 CSS 的 overflow 属性可以快速实现滚动效果。适用于静态列表或简单动态内容。 <template> <d…

vue实现多选列表

vue实现多选列表

Vue 实现多选列表的方法 使用 v-model 绑定数组 在 Vue 中,可以利用 v-model 指令绑定一个数组来实现多选功能。当用户选择多个选项时,选中的值会自动添加到数组中。 <te…

vue 搜索框列表实现

vue 搜索框列表实现

Vue 搜索框列表实现 在 Vue 中实现搜索框列表功能,通常涉及数据绑定、过滤和渲染列表。以下是具体实现方法: 数据绑定与搜索输入 创建 Vue 实例或组件,定义数据模型和搜索输入框: <…

vue虚拟滚动列表实现

vue虚拟滚动列表实现

虚拟滚动列表的实现原理 虚拟滚动(Virtual Scrolling)通过仅渲染可视区域内的元素来优化长列表性能。核心思想是根据滚动位置动态计算可见项,减少DOM节点数量。 基于vue-virtua…