添加默认值以使用Angular 2进行选择

时间:2017-10-11 07:22:41

标签: javascript c# html asp.net angular

我正在使用Visual Studio 2017 ASP.NET Angular Web应用程序模板使用ASP.NET Core 2.0开发Angular 2应用程序。

我有一个控制器,其方法获取我在我的应用程序中使用的所有立法(它们来自枚举):

[Route("api/[controller]")]
public class LawController : Controller
{
    [HttpGet]
    public IEnumerable<Models.LawPresentation> Get()
    {
        List<LawPresentation> laws = new List<LawPresentation>();
        // Arrange
        byte[] values = (byte[])Enum.GetValues(typeof(LawTypes));
        foreach (byte value in values)
        {
            string enumName = Enum.GetName(typeof(LawTypes), value);
            LawPresentation law = new LawPresentation()
            {
                Value = value,
                Name = enumName
            };

            laws.Add(law);
        }

        return laws;
    }
}

我这是在选择中显示所有这些值的组件:

<p *ngIf="!laws"><em>Loading...</em></p>
Legislaciones:&nbsp;
<select>
    <option *ngFor="let l of laws" [ngValue]="l">{{l.name}}</option>
</select>

我不认为从控制器返回默认值(空白选项)是一个好主意,所以我想知道是否可以在html组件中添加一些内容来添加默认选项。

有没有办法将select的默认选项添加到html组件中?

2 个答案:

答案 0 :(得分:1)

我会做这样的事情:

<p *ngIf="!laws"><em>Loading...</em></p>
Legislaciones:&nbsp;
<select>
  <option></option>
  <option *ngFor="let l of laws" [ngValue]="l">{{l.name}}</option>
</select>

答案 1 :(得分:0)

您可以添加默认选项,如下所示。 选定的属性将在初始时选择选项。 disable属性将限制用户选择的选项。 您可以根据要求删除它们

<p *ngIf="!laws"><em>Loading...</em></p>
Legislaciones:&nbsp;
<select>
    <option value="" selected disabled>SELECT</option>
    <option *ngFor="let l of laws" [ngValue]="l">{{l.name}}</option>
</select>