Arbitrary parameters
In the preceding example, we used explicitly defined parameters to assign the button’s attributes. A much more efficient way of assigning values to attributes is to use arbitrary parameters. An arbitrary parameter is a parameter that is not explicitly defined by the component. The Parameter
attribute has a CaptureUnmatchedValues
property that is used to allow the parameter to capture values that don’t match any of the other parameters.
This is a new version of our button called BweButton2
. It uses arbitrary parameters:
BweButton2.razor
<button @attributes="InputAttributes" >
@ChildContent
</button>
@code {
[Parameter(CaptureUnmatchedValues = true)]
public Dictionary<string, object>? InputAttributes{get; set;}
[Parameter]
public RenderFragment? ChildContent { get; set; }
}
The preceding code includes a parameter named InputAttributes
that has its CaptureUnmatchedValues
property set to...