2017-10-11 159 views
1

我正在使用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組件?

回答

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

您可以添加默認選項,如下。 選定的財產將在初始時選擇選項。 禁用屬性將限制選項由用戶選擇。 您可以按照要求將它們刪除

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