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

问题描述 投票:0回答:2

我正在尝试为 Blazor 构建一个输入文本,如果技能尚未为空,则它会保留一个占位符,因此会创建为新技能,因为我想使用相同的剃刀组件来编辑和创建新技能:

      <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,尽管它对我不起作用。

我只通过 Telerik 前端框架发现了这种可能性

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

Andy 知道为什么

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

c# .net input blazor placeholder
2个回答
11
投票

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

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

4
投票

您正在绑定到

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

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

你会得到:

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

© www.soinside.com 2019 - 2024. All rights reserved.