添加默认值以选择Angular 2

问题描述:

我正在使用Visual Studio 2017 ASP.NET Angular Web应用程序模板开发具有ASP.NET Core 2.0的Angular 2应用程序。添加默认值以选择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组件添加默认选项。

是否有任何方法将默认选项添加到选择到HTML组件?

我会做这样的事情:

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

您可以添加默认选项,如下。 选定的财产将在初始时选择选项。 禁用属性将限制选项由用户选择。 您可以按照要求将它们删除

<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>