Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何将第一个选项设置为选中,其中选项在选择框4中从循环生成_Angular_Angular4 Forms - Fatal编程技术网

Angular 如何将第一个选项设置为选中,其中选项在选择框4中从循环生成

Angular 如何将第一个选项设置为选中,其中选项在选择框4中从循环生成,angular,angular4-forms,Angular,Angular4 Forms,我在angular 4项目中工作过,在这个项目中,我需要将第一个选项设置为选中,其中所有选项都是通过循环动态创建的。 html代码: <select [(ngModel)]="selectedServiceType" [ngModelOptions]="{standalone: true}" (ngModelChange)="getServiceType($event)"> <ng-container *ngFor="let service of services"&g

我在angular 4项目中工作过,在这个项目中,我需要将第一个选项设置为选中,其中所有选项都是通过循环动态创建的。 html代码:

<select [(ngModel)]="selectedServiceType" [ngModelOptions]="{standalone: true}" (ngModelChange)="getServiceType($event)">
    <ng-container *ngFor="let service of services">
        <option [ngValue]="service">{{service.name}}</option>
    </ng-container>
</select>
如果有人知道,请告诉我。提前谢谢

就在你的ts里,在ngOnInit里面

试着这样做:

<select class="form-control" (change)="onChange($event)">
    <option *ngFor="let service of services; let itemIndex = index" [selected]="itemIndex == 0" [ngValue]="service.value">{{service.name}}</option>
</select>
组件技术

添加此代码

<select (change)="onChange($event.target.value)"  value={{selectedService}}>
<ng-container>
    <option *ngFor="let service of services" >{{service.name}}</option>
</ng-container>
</select>

我在服务从@Input services:any获取的组件中使用了此代码;因此,我将不会访问ngOnInit中的服务。然后,您可以为输入添加一次更改,并在中进行设置,但我不希望更改,我希望在页面初始化时进行。如果您最初没有服务,如何设置默认值?这是我要问的问题。有什么解决办法吗?
export class HomeComponent implements OnInit {

    private selectedServiceType: any;
    private services: Array<any> = [];

    constructor() {
        this.services = [{
            name: "Harish",
            value: 5000
        }, {
            name: "Chandru",
            value: 5001
        }]
    }
    onChange(e) {
        this.selectedServiceType = e.target.value;
    }
}
<select (change)="onChange($event.target.value)"  value={{selectedService}}>
<ng-container>
    <option *ngFor="let service of services" >{{service.name}}</option>
</ng-container>
</select>
export class YourClass implements OnInit {
  selectedService: any;
  services:any = [];


--your API call code set values to services array
this.services=this.service.APImethod()

onChange(newValue) {  
this.selectedService=newValue;
}

}