跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

如何在 Blazor 中复用同一组件并独立获取多个实例的值

通过为自定义组件添加 @bind-Value 支持(即 Value 参数 + ValueChanged 回调),可让多个同类型组件各自维护独立状态,并将变更同步回父组件,实现数据隔离与集中管理。 通过为自定义组件添加 `@bind-value` 支持(即 `value` 参数 + `valuechanged` 回调),可让多个同类型组件各自维护独立状态,并将变更同步回父组件,实现数据隔离与集中管理。 在 Blazor 中,若需在同一页面多次使用相同组件(如 @code { [Parameter] public required string Value { get; set; } [Parameter] public required EventCallback ValueChanged { get; set; } private string result = ""; protected override void OnInitialized() { // 初始化时同步父组件传入的值(确保首次渲染显示正确) result = Value; } private async Task FinishAsync() { await ValueChanged.InvokeAsync(result); } }
? 注意 :OnInitialized 中显式赋值 result = Value 是必要的,否则初始值可能为空,导致 @bind="result" 无法反映父组件传入的默认值。 ? 父组件用法:声明独立字段 + 使用 @bind-Value 在父组件中,为每个