如何使用表单提交的绑定值为 InputText 设置占位符?

How to set placeholder for InputText with bind-Value for formsubmit?

我正在尝试为 Blazor 构建一个 InputText,如果该技能仍为空,它会保留一个占位符,因此将其创建为一个新技能,因为我想使用相同的剃刀组件进行编辑和创建新技能。

我的密码是

      <div class="form-group">
        <label>Skillname</label>
        @if (Skill == null)
        {
          <InputText class="form-control" placeholder="Enter Skillname" @bind-Value="Skill.Name"/>
        }
        else
        {
          <InputText @bind-Value="Skill.Name" class="form-control"/>
        }
      </div>   

我试过设置placeholder=.".."没有任何效果。经过研究,我发现他们正在使用 placeholder here,即使它对我不起作用。

我只发现 this possibility 有 telerik 前端框架。

我在文档中找不到任何对占位符的引用。

Andy 知道为什么 placeholder 在这里不起作用,或者是否有任何其他解决方法可以实现此目的?

您绑定到 @bind-Value="Skill.Name",所以我假设 Skill 不为空。你的测试是在 skill,而不是 skill.Name,所以永远不会 null 你总是点击 else 选项。尝试:

  @if (string.IsNullOrEmpty(skill.Name))
    {
        ......
    }

你得到:

但是,您不需要执行任何操作,因为占位符只会在字段为空时显示。

没有智能感知,这让人们感到困惑。 但是,如果您只使用占位符属性,它将起作用。

<InputText id="lastName" class="form-control" placeholder="Last Name" @bind-Value="EmployeeVM.LastName"></InputText>