☰
Ant Design Blazor 上手:我们 ERP 中后台为什么又看了一眼它
2026/11/5 2:04:11 网站建设 项目流程

我做 PCB 制造业 ERP,前端是 Blazor Server,组件库一直用 Radzen(数据密集型表单多,现成 DataGrid 省事)。团队里几个前端出身的同事总念叨 antd 那套审美和交互,我也一直想搞清楚:Ant Design Blazor 到底成不成熟,能不能接中后台的活。

先说版本,这是最近一个坑:我之前写的稿子里说它「还在 1.0 之前」,开源作者亲自在评论区纠正——现在稳定版已经是 1.6.2,NuGet 下载量几百万了。我去仓库核对了一下,确实是,2.0 / antd 5.0 风格还在 nightly 分支没进稳定版。下面按我实际翻下来的情况说,不夸不踩。

它是什么

基于 Ant Design 设计规范的企业级 Blazor 组件库,MIT 协议。

几个我实际确认过的点:

  • .NET Core 3.1 到 .NET 9 都支持,最近一次提交(2026-10-29)已经跟到 .NET 11 RC3,维护没停。
  • Blazor Server / WASM / MAUI / WPF / WinForms(Hybrid)都能跑,Electron 也行。
  • NuGet 包名就是AntDesign,本地化有单独的AntDesign.Extensions.Localization。
  • 2026 年初官方给文档加了 MCP server,配到 Claude / Cursor 里能直接查组件用法和示例源码。我们组最近写 Blazor 就靠这个少切几次网页。

怎么跑起来

官方给了两条路,我是直接引到现有项目的:

dotnet add package AntDesign
// Program.cs builder.Services.AddAntDesign();
@* _Imports.razor *@ @using AntDesign
@* index.html / _Host.cshtml *@ <link href="_content/AntDesign/css/ant-design-blazor.css" rel="stylesheet" /> <script src="_content/AntDesign/js/ant-design-blazor.js"></script>

新建项目用模板也行:

dotnet new --install AntDesign.Templates dotnet new antdesign -o MyApp # -ho server|wasm|webapp 指定托管模型

有个坑我第一次就踩了:Modal / Message / Notification 这类弹出组件,必须在 App.razor 加<AntContainer />,否则弹窗死活不出来。Blazor WebApp 还得给它和<Routes>都加上@rendermode="RenderMode.InteractiveAuto"。这个不加,你调试半小时都想不到是这原因。

一个能抄的片段

我们 ERP 里工单列表 + 新建弹窗大概长这样(简化过):

@page "/orders" @using AntDesign <Button Type="primary" OnClick="() => visible = true">新建工单</Button> <Table TItem="Order" Data="@orders"> <PropertyColumn Property="c => c.OrderNo" Title="单号" /> <PropertyColumn Property="c => c.Status" Title="状态" /> </Table> <Modal Title="新建工单" Visible="@visible" OnOk="() => visible = false" OnCancel="() => visible = false"> <p>这里放你的表单……</p> </Modal> @code { private bool visible; private List<Order> orders = new() { new("WO-001", "已排产"), new("WO-002", "待物料"), }; record Order(string OrderNo, string Status); }

Table+PropertyColumn的写法和 antd 几乎一样。我们前端同事看一眼就懂,不用我解释列定义怎么配,沟通成本确实低。不过 Modal 要弹得起来,前提就是上面那个<AntContainer />已经加好。

和 MudBlazor / Radzen 怎么选

不绕弯子:圈子里做 Blazor,十个人有八个第一反应是 MudBlazor——Material 风、开源、社区最热闹。Radzen 在中文社区存在感不高,而且免费和付费边界容易踩坑,我不建议拿来入门。

我自己的情况可能和很多人相反:生产环境用的是 Radzen,因为 ERP 表单字段多、要现成 DataGrid,它能省不少事。但 Radzen 的付费边界确实要提前确认,不是所有控件都免费。

把几个主流的摆一起:

库

风格

许可

适合场景

提醒

MudBlazor

Material

开源

通用项目、要社区

默认选择,文档全、示例能抄

Ant Design Blazor

antd 中后台

MIT

中后台、团队熟 antd

1.6.2 已稳,但仍在快速演进

Radzen Blazor

中性简洁

免费+付费

数据密集型企业管理

控件多,付费边界要确认

Blazorise

多 CSS 框架

免费+付费

绑 Bootstrap/Tailwind

灵活,但样式得自己定

我的判断:

  • 刚起步、要纯开源 + 踩坑有人答,MudBlazor 最稳。
  • 团队本来就 React + antd、现在转 Blazor 做中后台,Ant Design Blazor 心智一致,值得上。我们就是这种情况,所以才认真看了它。
  • 生产环境要现成 DataGrid / 设计器、能接受授权成本,再评估 Radzen。

选型上别迷信「社区最火」,得看你自己项目长什么样。

上生产前注意

1.6.2 还在演进期,breaking change 会有。上生产前锁版本、读 release notes,别追 nightly——2.0 的 antd 5.0 样式在预览分支,官方明确说别用于生产。样式和脚本是按需加载的,注意别重复引,不然包体积会涨。


就这些。如果你也在 Blazor 里做中后台、纠结组件库,可以一起聊聊实际踩过的坑。我后面打算把 ERP 里用 Blazor 过的几个生产场景(表格行内编辑、服务端分页、表单联动)单独拆出来写。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询