是否可以限制Blazor组件的使用?当你在Visual Studio中输入时,我不希望它出现在列表中。
例如,如果我创建一个图标组件。它包含一个参数,是一个Renderfragment。
然后我创建一个IconArrow组件,其中包含icon组件。
<Icon>
//Ex SVG with an Arrow
</Icon>
现在我把它放在一个不同的文件夹中,这样当你开始绑定时它就不会显示出来,但是如果你添加了一个using,你就可以访问它了。
不支持。
但是在我制作的框架中,我限制了它的使用,这会在运行时抛出异常。这可以使用级联参数来完成:
父:
<div>
<CascadingValue Value="this" Name="IconParent">
<Icon />
</CascadingValue>
</div>
孩子:
@code {
[CascadingParameter(Name = "IconParent")]
public IconParentComponent Parent { get; set; }
protected override void OnParametersSet()
{
if (Parent == null)
throw new ArgumentNullException("The component "Icon" can only be using within a pre-defined component");
}
}