我最大的问题是当我有一个可以为空的属性时,但我想检查它是否已设置,即使该值是null
在我里面MyComponent
我想要区别的是这两种情况
传递Foo
财产
<MyComponent Foo="@foo" />
@code {
public Foo foo { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
不传递Foo
财产
<MyComponent />
Run Code Online (Sandbox Code Playgroud)
但MyComponent
在这两种情况下,内部Foo
都会是null
。
Foo
即使值是值,我如何知道属性正在被传递default
?
您可以重写 SetParametersAsync 方法来检查已设置或未设置的参数。即使该值为空。如果未指定该参数,它将不会出现在集合中。
例如
@code {
[Parameter]
public Foo Foo { get; set; }
public override async Task SetParametersAsync(ParameterView parameters)
{
foreach(var prm in parameters)
{
System.Diagnostics.Debug.WriteLine($"Name: {prm.Name}");
System.Diagnostics.Debug.WriteLine($"Value: {prm.Value?.ToString()}");
}
await base.SetParametersAsync(parameters);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2852 次 |
最近记录: |