在我的Angular计划中,我有一个使用ngFor
显示许多员工的选择框,并使用ngValue
和ngModel
从列表中获取员工人数并使用它作为访问数组时的索引。我希望在所有被选中的员工之上有一个选项。这是我尝试过的,只要选择了所有员工或其中一名员工,一切都有效,但我希望默认为All Employees选项。我怎么能这样做?
HTML
:
<select class="form-control" id="empName" [(ngModel)]="selectedEmployee">
<option selected>All Employees</option>
<option *ngFor="let emp of empInfo; let i = index" [ngValue]="i">{{emp.EmpID}} - {{emp.FirstName}} {{emp.LastName}}</option>
</select>
这是我的ts中的变量:
selectedEmployee: number;
我尝试过这两种方式:
<option selected>All Employees</option>
<option selected="selected">All Employees</option>
但都不起作用。
答案 0 :(得分:2)
带
[(ngModel)]="selectedEmployee"
class MyComponent {
selectedEmployee:number = 3;
您可以使用
(ngModelChange)="updateSelection($event)"
updateSelection(value) {
this.model.employeeNo = value;
}
答案 1 :(得分:0)
您可以删除ngModel,并在更改时获取员工。在此示例中,所有员工始终是选定的选项,您只能在选择更改时检索员工。
<select (change)="updateEmployee($event.target.value)" >
<option [value]="'All employees'" ></option>
<template ngFor let-emp [ngForOf]="emplInfo" let-i="index">
<option [value]="i" >{{emp.empId}}</option>
</template>
</select>
答案 2 :(得分:0)
或许这样的事情?
<label>Employee:</label>
<select [(ngModel)]="employee.id"
(ngModelChange)="onSelect($event)">
<option value="0">--Select--</option>
<option *ngFor="#employee of employees"
value={{employee.id}}>{{employee.name}}</option>
onSelect(value) {
this.employee.id = value;
}