首页 > 解决方案 > 在 blazor 中向 InputNumber 添加占位符

问题描述


我有一个简单的问题,我想在 InputNumber 组件中添加一个占位符。
我试过这段代码,但它没有用。
//Code behind
public int? Hour { get; set; }
//razor page
<EditForm Model="FilteredEmployees">
  <InputNumber @bind-Value="Hour" min="0" class="form-control" max="10" placeholder="Hour"/> 
</EditForm>

感谢帮助。

标签: c#htmlblazor

解决方案


可能有几个原因,具体取决于您的代码设置方式。请尝试为可重复的示例添加更多代码,或显示您遇到的特定错误。

如果此输入框显示 0 而不是“小时”,则很可能是因为您使用的是和 int 支持字段而不是 int?支持领域。我只是仔细检查了它并具有支持属性

public int? Hour { get; set; }

当文本框内容为空时,正确显示占位符文本。

如果您遇到错误(例如空引用错误),很可能您忘记了 EditForm。请参阅https://docs.microsoft.com/en-us/aspnet/core/blazor/forms-validation?view=aspnetcore-5.0

作为一个最低限度的例子:这对我来说按预期工作,无论有没有验证元素

@page "/"

<EditForm Model="@this">
    @*<DataAnnotationsValidator />
    <ValidationSummary />*@
    <InputNumber @bind-Value="Hour" min="0" class="form-control" max="10" placeholder="Hour" />    
</EditForm>

@code {
    public int? Hour { get; set; }
}

推荐阅读