在我们从父组件传参数给子组件时,可以通过子组件定义的[Parameter]特性的公开属性进行传值,但是当我们需要传递多个值的时候,就需要通过[Parameter]特性定义多个属性,有没有更简便的方式? 我们可以使用定义 IDictionary<string,object>类型的参数,并使用[Parameter(CaptureUnmatchedValues =true)]特性进行标注,这样在父组件中嵌套子组件时,可以任意的传递参数。 子组件:
<h3>ParameterChild</h3>
<ul>
@if (Parameters != null)
{
@foreach (var item in Parameters)
{
<li>key=@item.Key,value=@item.Value</li>
}
}
</ul>
@code {
[Parameter(CaptureUnmatchedValues = true)]
public Dictionary<string, object>? Parameters { get; set; }
}
我们在子组件中将所有参数展示出来,用于验证参数是否传递成功 父组件:
@page "/demoPage"
@rendermode InteractiveAuto
<h3>DemoPage</h3>
<ParameterChild class="123" x1 ="2"></ParameterChild>
@code {
}
运行结果:
我们通过运行结果可以看到,参数被正确的传递到了子组件
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有