当前位置:首页 > VUE

vue实现双列商品卡片

2026-02-22 09:53:40VUE

实现双列商品卡片布局

使用Vue实现双列商品卡片布局可以通过Flex布局或Grid布局完成。以下是一个基于Flex布局的示例:

<template>
  <div class="product-list">
    <div 
      v-for="(product, index) in products" 
      :key="index" 
      class="product-card"
    >
      <img :src="product.image" :alt="product.name">
      <h3>{{ product.name }}</h3>
      <p>¥{{ product.price }}</p>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      products: [
        { name: '商品1', price: 99, image: 'url1' },
        { name: '商品2', price: 199, image: 'url2' },
        // 更多商品...
      ]
    }
  }
}
</script>

<style scoped>
.product-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px;
}

.product-card {
  width: calc(50% - 8px);
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 12px;
  box-sizing: border-box;
}

.product-card img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}
</style>

使用CSS Grid布局替代方案

如果需要更灵活的网格控制,可以使用CSS Grid:

vue实现双列商品卡片

.product-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.product-card {
  /* 保持与Flex方案相同的样式 */
}

响应式设计处理

添加媒体查询实现响应式布局:

vue实现双列商品卡片

@media (max-width: 768px) {
  .product-list {
    grid-template-columns: 1fr;
  }

  .product-card {
    width: 100%;
  }
}

动态加载更多商品

结合分页加载功能:

methods: {
  loadMore() {
    // 模拟API获取更多数据
    this.products = [...this.products, ...newProducts]
  }
}

性能优化建议

对于长列表考虑使用虚拟滚动:

<template>
  <RecycleScroller
    class="product-list"
    :items="products"
    :item-size="200"
    key-field="id"
  >
    <template v-slot="{ item }">
      <div class="product-card">
        <!-- 卡片内容 -->
      </div>
    </template>
  </RecycleScroller>
</template>

需要先安装vue-virtual-scroller插件。这种方案特别适合移动端长列表场景。

标签: 卡片商品
分享给朋友:

相关文章

vue实现按卡片轮播

vue实现按卡片轮播

实现卡片轮播的基本思路 在Vue中实现卡片轮播通常需要结合轮播组件库或自定义滑动动画效果。核心逻辑包括动态渲染卡片、处理滑动事件、计算当前展示的卡片位置。 使用第三方库(Swiper) 安装Swip…

vue实现商品全选

vue实现商品全选

实现全选功能的基本思路 在Vue中实现商品全选功能,通常需要维护一个商品列表数据和一个选中状态数组。通过计算属性判断是否全选,通过方法控制全选或取消全选。 定义数据模型 data() {…

vue实现增加商品

vue实现增加商品

使用 Vue 实现商品添加功能 实现步骤 1. 创建商品表单组件 开发一个商品表单组件,包含商品名称、价格、描述等字段。使用 Vue 的 v-model 指令实现双向数据绑定。 <templ…

vue实现商品详解

vue实现商品详解

Vue 实现商品详情页功能 技术栈选择 Vue 3 + Vue Router + Pinia(状态管理)+ Axios(数据请求)+ Element UI/Vant(可选UI库) 核心功能模块 数…

vue实现商品分页

vue实现商品分页

Vue 实现商品分页的方法 基础分页实现 安装必要的依赖(如axios用于请求数据) npm install axios 创建分页组件模板 <template> <div&g…

vue实现添加商品功能

vue实现添加商品功能

数据绑定与表单结构 在Vue中实现添加商品功能,通常需要使用v-model进行表单数据双向绑定。创建一个包含商品名称、价格、库存等字段的表单结构,通过data()初始化商品对象: <templ…