前端拿AI设计工具生成页面,在现在已经挺普遍了。输入需求后等一小会儿,就能看到一个完整的后台界面,连React代码和项目目录都一块儿给出来了。比起从头搭项目,效率确实高不少。
但页面“能预览”和“能上线”还不是一回事。想看看AI生成代码实际能做到什么程度,我拿Paico做了一个购物管理数据后台。涉及仪表盘、商品管理、订单管理、销售管理、客户管理和数据报表,一共6个页面。这里不比较工具,主要结合这个案例聊一聊,AI生成结果拿到之后还要检查调整哪些地方。
一、先看AI生成结果:页面框架基本搭起来了
这个案例涉及的功能不算少。仪表盘上放了数据卡片、销售柱状图、分类饼图、最近活动和热门商品;商品管理页有搜索框、分类筛选、库存状态以及编辑、删除这些操作。另外左侧菜单还要负责多个页面之间的切换。
把功能模块和布局需求输入进去之后,AI不一会儿就生成了比较完整的后台结构。左边是可折叠导航栏,顶部有搜索、通知和用户入口,中间的内容区会根据页面展示不同的数据。整体风格看起来也比较统一,表格、状态标签、按钮和卡片之间没有明显的样式冲突。


代码部分生成的是React项目,页面文件按 Dashboard.tsx、Products.tsx 这样分开,另外还有 components、data、hooks 和 lib 等目录。图标用的是 lucide-react,样式主要靠工具类来写。

整体看下来,AI做项目初稿挺合适的。导航结构、页面布局和基础样式这些挺花时间的活,可以先快速搭个架子。但这时候更准确地说,是“有了一套可以接着开发的前端界面”,不是“已经拿到能上线的系统”。
二、第一轮改造:先把数据和页面结构理清楚
商品管理页的代码里,商品数据是直接写在页面文件中的:
const products = [
{
id: "P001",
name: "iPhone 15 Pro",
category: "电子产品",
price: 7299,
stock: 6200,
status: "在售"
}
];
在演示阶段这样写没问题,改起来也直观。但后面真要接接口的话,数据、筛选逻辑和页面布局还都塞在 Products.tsx 里,文件很快就变得很大了。
我习惯先定义商品类型,然后把模拟数据挪到单独的文件里:
export interface Product {
id: string;
name: string;
category: string;
price: number;
stock: number;
status: "在售" | "低库存";
}
页面只管组合搜索栏、筛选器和商品表格。表格行、状态标签这些重复内容可以再拆成小组件,但也不用拆得过碎。比如只出现一次的页面标题,没必要单独整个组件,不然目录看着挺全,维护起来反而费劲。
另外价格建议存成数字,别直接把带货币符号的字符串存进去。展示的时候再用格式化函数加上货币符号和千分位。后面排序、统计或者调接口都方便。
三、第二轮改造:让界面从“看起来能用”变成“真的能操作”
生成出来的搜索、分类筛选、新增商品、编辑和删除按钮,看着都有了,但有按钮不等于业务功能就完成了。上线前至少得逐个确认交互状态。
拿商品搜索来说,得增加搜索关键词和分类状态,然后根据条件过滤出要展示的列表:
const filteredProducts = products.filter((product) => {
const matchedName = product.name
.toLowerCase()
.includes(keyword.toLowerCase());
const matchedCategory =
category === "全部" || product.category === category;
return matchedName && matchedCategory;
});
新增和编辑商品一般还得有表单、字段校验、取消操作和提交状态。删除操作别点了就删,至少加个二次确认。接口请求过程中,按钮最好禁用或者显示加载中,防止用户反复点。
空数据和异常情况也容易漏掉。比如搜不到商品时,别只留个空表格;接口加载失败也要给提示和重试入口。库存状态别长期写死,可以按库存数量动态算,比如库存少于某数量就显示“低库存”,具体阈值按业务规则定。
四、上线前,再做一次基础验收
数据和交互调完,我一般会从四个方面过一遍:
- 首先是响应式布局。后台主要是在电脑上用,但浏览器窗口窄了也得看看。侧边栏能不能收起来,表格需不需要横向滚动,图表和数据卡会不会挤在一起,都得调一调。
- 第二是组件一致性。同一种状态标签、按钮和输入框最好用统一组件,别商品页和订单页各搞一套。颜色、间距、圆角这些样式也可以抽成统一配置,后面改起来省事。
- 第三是基本可用性。图标按钮得有可识别的说明,输入框要有标签,键盘操作时焦点要能看见。红绿颜色可以辅助表示状态,但别光靠颜色来区分。
- 第四是工程检查,看看控制台有没有报错,列表渲染有没有稳定的
key,路由跳转正不正常,刷新页面后还能不能留在当前页,加载、空数据和请求失败这些状态有没有。
做完这个购物管理后台,我的感受是AI生成React页面并不是点一下就完事,但确实能省不少从头搭的时间。这个例子里AI把页面结构、样式和基础代码都弄好了,后面主要就是接数据、补交互和做工程检查。
AI生成代码更适合拿来当项目的起点,不是直接交付用的。只要心里有数,再有一套固定的检查流程,它就不光能生成好看的演示页,也能成为前端开发里的实用工具。

464

被折叠的 条评论
为什么被折叠?



