我目前的设置:
在 Blazor 页面中,我有如下内容:
@page "/page"
@page "/page/{Id}"
Run Code Online (Sandbox Code Playgroud)
和:
[Parameter]
public string Id { get; set; }
Run Code Online (Sandbox Code Playgroud)
现在,例如从导航/page/1到 时/page/2,我可以使用OnParametersSetAsync来检测这些更改。但是从 导航/page/1到时会出现问题/page。OnParametersSetAsync可以检测到这种变化,但是Id参数将保持1与之前的路线相同。
我想知道在这种情况下我能做什么。
dan*_*era 10
Blazor 不会用 null 覆盖空参数,请自行完成:
@page "/Counter"
@page "/Counter/{Id}"
<h1>Current Id: @IdString;</h1>
<a href="/Counter"> go home </a> |
<a href="/Counter/1"> go home 1 </a> |
<a href="/Counter/2"> go home 2 </a>
@code
{
private string IdString;
[Parameter] public string Id { get; set; }
protected override async Task OnParametersSetAsync()
{
// copy par value somewhere
IdString = Id?.ToString() ?? "";
// rest parm (set to null) by yourself
Id=null;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1650 次 |
| 最近记录: |