Blazor 创建自定义组件的方法
#技术教程 发布时间: 2026-01-13
Blazor自定义组件通过创建.razor文件实现,包含HTML模板、C#逻辑(@code块)和scoped CSS;使用[Parameter]接收参数,EventCallback触发事件,无需注册即可直接使用。
Blazor 中创建自定义组件非常直接,核心就是写一个 .razor 文件,里面包含 HTML 模板、C# 逻辑和可选的 CSS 样式(支持 scoped CSS)。组件本质是可复用的 UI 单元,能接收参数、触发事件、封装状态。
基础组件:从 .razor 文件开始
在 Shared 或任意文件夹下新建文件(如 MyButton.razor),内容如下:
- 使用 @code { } 块写 C# 成员(字段、属性、方法)
- 直接写 HTML 标记作为渲染模板,支持 Razor 语法(如 @onclick、@if)
- 组件名默认取文件名(首字母大写),无需注册,Blazor 编译器自动识别
接收参数:用 [Parameter] 特性
让组件可配置的关键。在 @code 块中声明 public 属性,并加上 [Parameter]:
- 支持普通类型(string、int)、泛型(TValue)、组件类型(RenderFragment)
- 必需参数可用 [Parameter] public string Label { get; set; } = default!; + 非空约束
- 子内容用 [Parameter] public RenderFragment? ChildContent { get; set; } 接收
触发交互:定义 EventCallback
组件内部调用 EventCallback.InvokeAsync() 向父组件发通知:
- 声明:[Parameter] public EventCallback OnClick { get; set; }
- 在按钮点击等时机调用:await OnClick.InvokeAsync();
- 支持带参回调,如 EventCallback
OnInput ,调用时传值即可
样式与作用域:使用 @namespace 和 scoped CSS
避免样式污染,推荐启用 scoped CSS:
- 新建 MyButton.razor.css(同名 + .css
后缀),内容自动作用于该组件 - 在组件顶部加 @namespace MyApp.Components 明确命名空间,方便跨页面引用
- 如需全局样式,仍可用 wwwroot/css/site.css 或 块(不推荐)
基本上就这些。不需要手动注册,不依赖第三方库,改完保存就能在其他 .razor 文件里像 HTML 标签一样用 —— 比如
上一篇 : 小白鞋发黄了怎么洗白?刷鞋店不告诉你的窍门【跟新买的一样】
下一篇 : 忘记oppo手机密码怎样重设_oppo手机密码重置实用指南【方案】
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!
后缀),内容自动作用于该组件