Angular 角度2+;强制在下拉列表中选择第一项

Angular 角度2+;强制在下拉列表中选择第一项,angular,select,option,Angular,Select,Option,以下代码正在执行它应该执行的操作: <div class="form-group"> <label for="file_name" class="col-sm-4 control-label">File names:</label> <select id="file_name" class="col-sm-8" [(ngModel)]="fileName" name="file_name" required>

以下代码正在执行它应该执行的操作:

<div class="form-group">
      <label for="file_name" class="col-sm-4 control-label">File names:</label>
      <select id="file_name"  class="col-sm-8" [(ngModel)]="fileName" name="file_name" required>
        <option value="run">use the run name</option>
        <option value="other">custom- please specify a name below</option>
        <option value="input">use the file input name</option>
      </select>
    </div>
    <div class="form-group" *ngIf="fileName === 'other'">
      <label for="custom_name" class="col-sm-4 control-label">File name:</label>
      <input  class="col-sm-8" type="text" id="custom_name" ngModel name="other_custom_name" required>
    </div>
    <div class="form-group" *ngIf="fileName === 'run'">
      <label class="col-sm-4 control-label">Enter file name:</label>
      <label  class="col-sm-8" id="run_name">{{ this.runName }}</label>
    </div>
    <div class="form-group" *ngIf="fileName === 'input'">
      <label class="col-sm-4 control-label">File name:</label>
      <label  class="col-sm-8" id="input_name">{{ this.inputDeckName }}</label>
    </div>

文件名:
使用运行名称
自定义-请在下面指定一个名称
使用文件输入名称
文件名:
输入文件名:
{{this.runName}}
文件名:
{{this.inputDeckName}}
如果选择第二个选项,将显示一个输入:

但当我启动应用程序时,未选择任何项目:

我希望自动选择第一项:

将“相对”选项设置为“选定”不起作用:

<option value="run" selected>use the run name</option>
使用运行名称
你能帮忙吗


谢谢。

在控制器中定义属性文件名,并将其设置为要选择的选项的值。在这种情况下,您应该执行以下操作:

public fileName: string = 'run';

仅当您不使用
ngModel
时,selected
属性才起作用。使用
ngModel
时,必须将默认值分配给该
ngModel

TS文件

fileName: string = 'run';

谢谢,Angular 2+中没有控制器,但我已经在我的typescript中实现了您的建议,并在ngOnChanges()生命周期中初始化了值。成功了!:)谢谢你,Sivaramakrishnan。我已经接受了Arif的答案,它是第一位的,并且让我走上了正确的道路,但是谢谢你花时间回答我的问题。