当前位置:首页 > 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)
}

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

相关文章

vue 实现长列表

vue 实现长列表

vue 实现长列表的优化方法 使用虚拟滚动技术,只渲染可视区域内的元素,大幅减少DOM节点数量。通过计算滚动位置动态更新显示内容,降低内存占用和渲染压力。 <template> &l…

vue实现产品使用功能

vue实现产品使用功能

Vue 实现产品功能的关键方法 组件化开发 使用Vue的单文件组件(.vue)将产品功能模块化,每个功能拆分为独立组件。例如产品列表、详情页、购物车等可分别封装为ProductList.vue、Pro…

h5实现展开列表

h5实现展开列表

使用HTML5和CSS实现展开列表 在HTML5中,可以通过结合CSS和JavaScript实现展开列表效果。以下是几种常见的方法: 方法1:使用details和summary标签 HTML5提供…

vue 实现列表

vue 实现列表

Vue 实现列表的方法 在 Vue 中实现列表通常使用 v-for 指令,结合数组或对象进行渲染。以下是几种常见的实现方式: 基础列表渲染 通过 v-for 指令遍历数组,动态生成列表项。 &…

vue列表查询实现

vue列表查询实现

实现Vue列表查询功能 基本数据绑定与渲染 在Vue中实现列表查询,首先需要定义数据源和查询条件。通过v-model绑定搜索输入框,使用计算属性过滤列表。 <template> &…

vue实现列表循环

vue实现列表循环

列表循环的实现方式 在Vue中实现列表循环主要依赖于v-for指令,该指令基于源数据多次渲染元素或模板块。 基础数组循环 使用v-for遍历数组时,语法为item in items或(item,…