当前位置: 首页 > news >正文

《从零搭建Vue3项目实战》(AI辅助搭建Vue3+ElemntPlus后台管理项目)零基础入门系列第十篇:商品管理功能实现

🤟致敬读者

  • 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉

📘博主相关

  • 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息

文章目录

  • 《从零搭建Vue3项目实战》(AI辅助搭建Vue3+ElemntPlus后台管理项目)零基础入门系列第十篇:商品管理功能实现
    • 1. AI提示词
    • 2. 代码更新
    • 3. 页面效果


📃文章前言

  • 🔷文章均为学习工作中整理的笔记。
  • 🔶如有错误请指正,共同学习进步。

《从零搭建Vue3项目实战》(AI辅助搭建Vue3+ElemntPlus后台管理项目)零基础入门系列第十篇:商品管理功能实现

从零搭建Vue3项目实战,借助AI工具辅助学习和代码生成,零基础小白亦可轻松上手实现。

以下为系列篇所有文章:
《从零搭建Vue3项目实战》零基础入门系列第一篇:开发环境准备
《从零搭建Vue3项目实战》零基础入门系列第二篇:项目创建和初始化
《从零搭建Vue3项目实战》零基础入门系列第三篇:ElementPlus引入和应用
《从零搭建Vue3项目实战》零基础入门系列第四篇:登录页面实现
《从零搭建Vue3项目实战》零基础入门系列第五篇:登录页面优化及使用AI学习代码
《从零搭建Vue3项目实战》零基础入门系列第六篇:页面跳转功能实现(Router的引入和使用)
《从零搭建Vue3项目实战》零基础入门系列第七篇:菜单栏实现
《从零搭建Vue3项目实战》零基础入门系列第八篇:菜单栏优化和阶段项目源码
《从零搭建Vue3项目实战》零基础入门系列第九篇:用户管理功能实现
《从零搭建Vue3项目实战》零基础入门系列第十篇:商品管理功能实现
《从零搭建Vue3项目实战》零基础入门系列第十一篇:订单管理功能实现
《从零搭建Vue3项目实战》零基础入门系列第十二篇(完结篇):数据统计功能实现
《从零搭建Vue3项目实战》零基础入门一篇通关(AI辅助搭建Vue3+ElemntPlus后台管理项目)

系列文章均收录在前端vue3入门实战专栏中,可订阅专栏了解更多内容

1. AI提示词

接下来就是跟前面一样,让ai生成各个组件对应的功能代码
提问ai

你是一名资深的前端开发,已经使用vue3和elemetPlus搭建了项目的基础框架,现在需要实现商品管理菜单对应组件ProductsView.vue页面的相关功能,请在该组件页面实现商品管理数据表格,其中列名包含id、名称、分类、价格、库存、状态、操作,在操作列中有编辑、上架、下架、删除的图标按钮,模拟100条数据并实现分页功能,页面尽量美观,表格宽度占满页面

2. 代码更新

使用ai生成的代码,应用到项目对应的ProductsView.vue文件中
scr/views/ProductsView.vue

<template>
    <div>
        <el-table :data="paginatedProducts" style="width: 100%">
            <el-table-column prop="id" label="ID" width="80"></el-table-column>
            <el-table-column prop="name" label="名称" width="180"></el-table-column>
            <el-table-column prop="category" label="分类" width="120"></el-table-column>
            <el-table-column prop="price" label="价格" width="100"></el-table-column>
            <el-table-column prop="stock" label="库存" width="100"></el-table-column>
            <el-table-column prop="status" label="状态" width="100"></el-table-column>
            <el-table-column label="操作" width="200">
                <template #default="scope">
                    <el-button type="text" @click="editProduct(scope.row)">编辑</el-button>
                    <el-button type="text" @click="toggleStatus(scope.row, '上架')">上架</el-button>
                    <el-button type="text" @click="toggleStatus(scope.row, '下架')">下架</el-button>
                    <el-button type="text" @click="deleteProduct(scope.row)">删除</el-button>
                </template>
            </el-table-column>
        </el-table>
        <el-pagination
            @current-change="handleCurrentChange"
            :current-page="currentPage"
            :page-size="pageSize"
            :total="products.length"
            layout="prev, pager, next"
            style="margin-top: 20px; text-align: center;"
        ></el-pagination>
    </div>
</template>

<script setup>
import { ref, computed } from 'vue';
import { ElTable, ElTableColumn, ElPagination, ElButton } from 'element-plus';

// 模拟100条商品数据
const products = ref(Array.from({ length: 100 }, (_, index) => ({
    id: index + 1,
    name: `商品${index + 1}`,
    category: `分类${index % 5 + 1}`,
    price: (Math.random() * 1000).toFixed(2),
    stock: Math.floor(Math.random() * 100),
    status: Math.random() > 0.5 ? '上架' : '下架',
})));

// 分页相关数据
const currentPage = ref(1);
const pageSize = 10;

// 分页计算属性
const paginatedProducts = computed(() => {
    const start = (currentPage.value - 1) * pageSize;
    const end = start + pageSize;
    return products.value.slice(start, end);
});

// 处理页码变化
const handleCurrentChange = (page) => {
    currentPage.value = page;
};

// 操作列按钮事件
const editProduct = (product) => {
    console.log('编辑商品:', product);
};

const toggleStatus = (product, status) => {
    product.status = status;
    console.log('状态切换:', product);
};

const deleteProduct = (product) => {
    const index = products.value.indexOf(product);
    if (index !== -1) {
        products.value.splice(index, 1);
    }
    console.log('删除商品:', product);
};
</script>

<style scoped>

</style>

3. 页面效果

刷新页面查看效果
在这里插入图片描述
看起来还可以,其中上架、下架是可以实现的,编辑好像并未实现,后续可以自己尝试
以上就是商品管理的功能实现


📜文末寄语

  • 🟠关注我,获取更多内容。
  • 🟡技术动态、实战教程、问题解决方案等内容持续更新中。
  • 🟢《全栈知识库》技社区,集结全栈各领域开发者,期待你的加入。
  • 🔵​加入开发者的《专属社群》,分享交流,技术之路不再孤独,一起变强。
  • 🟣点击下方名片获取更多内容🍭🍭🍭👇

相关文章:

  • MOS管的发热原因和解决办法
  • TGRS 2024 | 基于光谱相关的高光谱图像超分辨率融合网络
  • 开源Cursor替代品——Void
  • 二维偏序-蓝桥20102,没写完
  • 996引擎-源码学习:PureMVC Lua 中的 Facade 类
  • 【状态适配器模式:级联选择器多状态数据处理完整解决方案】
  • layui中transfer两个table展示不同的数据列
  • 基于RV1126开发板实现多路网络摄像头取流方案
  • 设计模式:策略模式 - 消除复杂条件判断的利器
  • 【算法】——会了二分查找,对O(logn)真的很敏感
  • LabVIEW 中 “Flatten To Json String” VI 应用及优势
  • 【C++取经之路】lambda和bind
  • LeetCode 3396 题解
  • 安装vllm
  • 【mllm】——x64模拟htp的后端无法编译debug
  • MySQL深分页问题
  • 【Code】《代码整洁之道》笔记-Chapter11-系统
  • Cuto壁纸 2.6.9 | 解锁所有高清精选壁纸,无广告干扰
  • 单细胞多组学及空间组学数据分析与应用
  • 《系统分析师-浏览试卷(一)总结》
  • 武汉需要线上推广公司/长春百度网站优化
  • 工厂 电商网站建设/电脑优化软件推荐
  • 南京机关建设网站/帮平台做推广怎么赚钱
  • 网站被k还能不能在百度做推广/可以放友情链接的网站
  • 信用网站建设情况/市场营销主要学什么
  • 刷网站排名 优帮云/天津海外seo