写一个vue分别有商品编号、商品名称、商品价格、商品分类、商品库存的管理(用到增删改查)页面命名为mall.vue
时间: 2024-12-12 07:19:47 浏览: 8
在Vue.js中创建一个名为`mall.vue`的组件,用于商品的管理(包括增加、删除、修改和查询),首先我们需要设置基础的HTML结构,并利用Vuex进行状态管理。以下是`mall.vue`的基本模板:
```html
<template>
<div id="mall">
<h2>商品管理</h2>
<!-- 商品列表 -->
<ul v-if="products.length > 0" class="product-list">
<li v-for="(item, index) in products" :key="index">
<span>{{ item.productCode }}</span>
<span>{{ item.productName }}</span>
<span>{{ item.price }}</span>
<span>{{ item.category }}</span>
<span>{{ item.stock }}</span>
<button @click="editItem(index)">编辑</button>
<button @click="deleteItem(index)">删除</button>
</li>
</ul>
<!-- 新增商品表单 -->
<form @submit.prevent="addProduct">
<input type="text" v-model="newProduct.productCode" placeholder="产品编号">
<input type="text" v-model="newProduct.productName" placeholder="产品名称">
<input type="number" v-model="newProduct.price" placeholder="价格">
<select v-model="newProduct.category">
<option v-for="category in categories" :value="category">{{ category }}</option>
</select>
<input type="number" v-model="newProduct.stock" placeholder="库存">
<button type="submit">添加</button>
</form>
</div>
</template>
<script>
import { mapState, mapActions } from "vuex";
export default {
name: "Mall",
data() {
return {
newProduct: {},
categories: ["电子产品", "服装", "家居"], // 示例分类,需从后台获取
};
},
computed: {
...mapState(["products"]), // 获取Vuex store中的商品数据
},
methods: {
...mapActions(["addItem", "removeItem", "updateItem", "fetchProducts"]), // 获取Vuex actions用于操作数据库
addItem() {
this.addItem(this.newProduct);
this.newProduct = {};
},
deleteItem(index) {
this.removeItem(index);
},
editItem(index) {
const editedProduct = {...this.products[index]}; // 深拷贝防止修改原始数组
this.$router.push(`/edit-item/${index}`); // 跳转到编辑页面
this.editedProduct = editedProduct;
},
},
async created() {
await this.fetchProducts(); // 初始化加载商品数据
},
};
</script>
<style scoped>
.product-list li {
margin-bottom: 1rem;
}
</style>
```
在这个例子中,我们使用了Vue的组件化思想,以及Vuex进行状态管理。`created()`生命周期钩子会自动初始化商品列表。`methods`部分包含了处理商品操作的方法,如添加、删除和编辑。注意实际应用中需要连接到数据库API进行CRUD操作。
阅读全文