Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.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 由于来自服务,表单值未填充_Angular_Angular Forms - Fatal编程技术网

Angular 由于来自服务,表单值未填充

Angular 由于来自服务,表单值未填充,angular,angular-forms,Angular,Angular Forms,我正在用Angular 5构建一个表单,在一个带有选择框和文本字段的材料弹出窗口中。选择框值来自服务。但是,该服务花费了太多的时间,在该表单出现之前,用户无法获得选择框的值。只有经过一段时间后,才会填充“选择框”值。如何解决此问题?无论如何,您必须等待服务获取数据 如果您的问题是用户能够在创建选项之前使用select,则仅当所有内容都已准备就绪可供使用时才显示表单(或者如果您希望更具体一些,则仅当已获取select的数据时才显示该表单) 在组件中,从中获取数据: public showForm

我正在用Angular 5构建一个表单,在一个带有选择框和文本字段的材料弹出窗口中。选择框值来自服务。但是,该服务花费了太多的时间,在该表单出现之前,用户无法获得选择框的值。只有经过一段时间后,才会填充“选择框”值。如何解决此问题?

无论如何,您必须等待服务获取数据

如果您的问题是用户能够在创建选项之前使用select,则仅当所有内容都已准备就绪可供使用时才显示表单(或者如果您希望更具体一些,则仅当已获取select的数据时才显示该表单)

在组件中,从中获取数据:

public showForm = false;

this.getDataService(param).subscribe((data) => {
    // All your logic here
    this.showForm = true;
}
在模板中:

<form [formGroup]="form" *ngIf="showForm">
    <!-- Your form template here -->
<form>
<form [formGroup]="form" *ngIf="form">
    <!-- Your form template here -->
<form>
在模板中:

<form [formGroup]="form" *ngIf="showForm">
    <!-- Your form template here -->
<form>
<form [formGroup]="form" *ngIf="form">
    <!-- Your form template here -->
<form>


您是否使用
FormGroup
FormControl
构建表单?如果是,请在订阅服务返回成功时创建表单,并且在模板中,仅当您的
FormGroup
已实例化时才显示表单。是的,我使用的是fomControl。我只是这样创建,但在此之前,只有视图准备就绪,一段时间后才会出现下拉值。