电子购物商城商品信息展示功能模块代码实现
<template>
<div id="app">
<Top/>
<div class="container">
<div class="sidebar">
<h2>商品分类</h2>
<ul>
<li v-for="category in categories" :key="category.id">{{ category.name }}</li>
</ul>
</div>
<div class="content">
<div class="search-bar">
<input type="text" placeholder="输入商品名称进行搜索">
<button>搜索</button>
</div>
<div class="products">
<div class="product" v-for="product in products" :key="product.id">
<img :src="product.image">
<div class="info">
<h3>{{ product.name }}</h3>
<p>价格:{{ product.price }}元</p>
<p>库存:{{ product.stock }}件</p>
</div>
<button>加入购物车</button>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import Top from '@/components/Top'
export default {
name: 'app',
components: {
Top
},
data() {
return {
categories: [
{ id: 1, name: '手机' },
{ id: 2, name: '电脑' },
{ id: 3, name: '数码' },
{ id: 4, name: '家电' },
{ id: 5, name: '服装' },
{ id: 6, name: '食品' },
{ id: 7, name: '图书' },
{ id: 8, name: '家具' }
],
products: [
{ id: 1, name: '小米9', price: 2499, stock: 100, image: '/images/xiaomi9.jpg' },
{ id: 2, name: '华为P30', price: 3988, stock: 50, image: '/images/huaweip30.jpg' },
{ id: 3, name: '联想小新Air14', price: 4699, stock: 20, image: '/images/lenovoxiaoxinair14.jpg' },
{ id: 4, name: '戴尔灵越5580', price: 5799, stock: 10, image: '/images/delllingyue5580.jpg' },
{ id: 5, name: 'Apple iPhone X', price: 8999, stock: 30, image: '/images/iphoneX.jpg' },
{ id: 6, name: 'Apple MacBook Air', price: 8999, stock: 15, image: '/images/macbookair.jpg' },
{ id: 7, name: '小米空气净化器', price: 699, stock: 150, image: '/images/xiaomikqjhq.jpg' },
{ id: 8, name: '美的电烤箱', price: 799, stock: 80, image: '/images/meididiankaoxiang.jpg' },
{ id: 9, name: '美的冰箱', price: 2599, stock: 50, image: '/images/meidibingxiang.jpg' },
{ id: 10, name: '飞科剃须刀', price: 199, stock: 200, image: '/images/feiketixudao.jpg' },
{ id: 11, name: '小米电视4A', price: 1399, stock: 70, image: '/images/xiaomidianshi4a.jpg' },
{ id: 12, name: '华为MateBook X Pro', price: 7999, stock: 5, image: '/images/huaweimatebookxpro.jpg' }
]
}
}
}
</script>
<style lang="scss">
@import "./assets/css/basic.css";
@import "./assets/css/admin.css";
@import "./assets/css/demo.css";
@import "./assets/css/hmstyle.css";
.container {
display: flex;
margin: 20px;
}
.sidebar {
width: 200px;
padding: 20px;
background-color: #f2f2f2;
}
.sidebar h2 {
margin-bottom: 10px;
}
.sidebar ul {
list-style: none;
margin: 0;
padding: 0;
}
.sidebar li {
margin-bottom: 10px;
cursor: pointer;
}
.content {
flex: 1;
padding: 0 20px;
}
.search-bar {
margin-bottom: 20px;
}
.search-bar input {
width: 80%;
padding: 10px;
border: none;
border-radius: 5px;
font-size: 16px;
outline: none;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
.search-bar button {
padding: 10px 20px;
border: none;
border-radius: 5px;
font-size: 16px;
color: #fff;
background-color: #ff6700;
cursor: pointer;
outline: none;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
.products {
display: flex;
flex-wrap: wrap;
}
.product {
flex-basis: calc(33.33% - 20px);
margin: 10px;
padding: 20px;
background-color: #fff;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
text-align: center;
}
.product img {
width: 80%;
margin-bottom: 10px;
}
.product h3 {
margin-bottom: 10px;
}
.product p {
margin-bottom: 10px;
color: #666;
}
.product button {
padding: 10px 20px;
border: none;
border-radius: 5px;
font-size: 16px;
color: #fff;
background-color: #ff6700;
cursor: pointer;
outline: none;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
</style>
原文地址: https://www.cveoy.top/t/topic/nwFN 著作权归作者所有。请勿转载和采集!