C# Blazor-组件“;智能感知“;对于参数值
我有一个Blazor组件,带有参数C# Blazor-组件“;智能感知“;对于参数值,c#,blazor,blazor-server-side,C#,Blazor,Blazor Server Side,我有一个Blazor组件,带有参数位置。此参数应仅接受值的Top或Bottom 是否可以为此设置“智能感知”,以便在输入位置的值时弹出一个只有这些设置的弹出窗口 位置.cs public enum Position { Top, Bottom } public class MyComponentBase : ComponentBase { [Parameter] public Position Position { get; set; } = ToastPositio
位置
。此参数应仅接受值的Top
或Bottom
是否可以为此设置“智能感知”,以便在输入位置的值时弹出一个只有这些设置的弹出窗口
位置.cs
public enum Position
{
Top,
Bottom
}
public class MyComponentBase : ComponentBase
{
[Parameter] public Position Position { get; set; } = ToastPosition.TopRight;
protected string PositionClass { get; set; } = string.Empty;
]
MyComponent.razor
@inherits MyComponentBase
<div class="@PositionClass"></div>
<MyComponent Position="Position.Bottom" />
Index.razor
@inherits MyComponentBase
<div class="@PositionClass"></div>
<MyComponent Position="Position.Bottom" />
您的问题就在这里
// here \/
Position="Position.Bottom"
对于intellisense,您正在传递一个字符串,因为您没有使用@
符号
键入时,您应该执行Position=“(光标在这里)”
,然后键入@
,这样它将获得正确的intellisense。谢谢Vencovsky,VS intellisense就是这样工作的。但我想提出不同的问题。目前,我需要向Enum位置添加一个using语句,以便能够使用它。设置“自定义智能感知”这样的东西是否可行,所以当我键入。。。Position=“
此自定义弹出窗口仅显示两个可用操作顶部和底部
?要创建“自定义intellisense”,您需要。但请尝试使用Foo.Bar.placeOfEnm添加”,然后键入Position=“
以查看intellisense是否按您的方式工作。@imb13我在这里测试了它,看起来intellisense还不太好,速度也很慢,但您可以键入Position=“@
,然后按Ctrl+Space
(windows)要获取枚举,请按
查看选项。但要做到这一切,您需要已经有了枚举的使用权限。谢谢@Vencovsky。感谢您的帮助。我想我会坚持现在的状态。