111,098
社区成员




[Inject]
private NavigationManager Navigation { get; set; }
private asycn Task QueryAsycn()
{
/* 如果我当前页是 /Demo
* 那么我想筛选数据,导航到 /Demo?name=123,地址会变,但是不会OnInitializedAsync
* 不知道是我的想法没跟上还是本该这样子
*/
Navigation.NavigateTo("/Demo?name=123");
//如果导航到其他页面倒是符合预期,像这样
Navigation.NavigateTo("/Welcome?name=123");
//所以目前我处理的方式是 navigateTo 后,继续查询数据更新UI
Source = await LoadDataAsync();
}
//file Welcome.razor.cs
public partial class Webcome{}
//在razor文件上构建RenderFragment很简单 ,var rf = @<tag></tag>
private string NewTag { get; set; }
private RenderFragment DropdownRender(RenderFragment originNode)
{
RenderFragment customDropdownRender =
@<Template>
<div>
@originNode
<Divider Style="margin: 4px 0"></Divider>
<div style="display: flex; flex-wrap: nowrap; padding: 8px">
<Input Style="flex: auto" @bind-Value="NewTag"/>
<a style="flex: none; padding: 8px; display: block; cursor: pointer" @onclick="AddItem">
<Icon Type="plus" Theme="outline"></Icon>
添加标签
</a>
</div>
</div>
</Template>;
return customDropdownRender;
}
private void AddItem(MouseEventArgs args)
{
if (!string.IsNullOrWhiteSpace(NewTag))
{
_tags.AddItem(NewTag);
NewTag = string.Empty;
}
}
//但是在cs文件里面构建很麻烦,RenderFragment是一颗结构树,就简单一个图标都没那么便捷
var icon = builder =>
{
builder.OpenComponent<Icon>(0);
builder.AddAttribute(0,"Type","exclamation-circle");
builder.AddAttribute(1,"Theme","outline");
builder.CloseComponent();
},