我在对话框页面上具有选择自动完成功能,并且第一步用户选择值。
根据此选择结果,我应该创建不同的输入束。
当用户填写此select-autocomplete时,我应该转到具有服务的后端,以接收有关应在对话框中创建的输入束的数据。
但是自动完成填充后,服务注入会丢失。
在getProp
方法中,dictionaryService
是undefined
。
如何通过dictionaryService
方法将PropertiesDialogComponent
绑定到getProps
以访问服务?
export class PropertiesDialogComponent implements OnInit {
constructor(public dialogRef: MatDialogRef<PropertiesComponent>,
public dictionaryService: DictionaryRequestService,
@Inject(MAT_DIALOG_DATA) public data: any) {
// in this moment dictionaryService is ok.
}
getProps(searchValue: string): Observable<EntityIdTitle[]> {
debugger
return this.getSearch(searchValue)
.pipe(
map((dicts: DictionaryItemsSearch[]) =>
dicts.map(i => ({id: i.id, title: i.title})))
);
}
}
<h2 matDialogTitle class="mb-3">Add</h2>
<div matDialogContent>
<form>
<div class="form-container">
<app-select-autocomplete
[multiple]="false"
[placeholder]="'property'"
[getOptions]="getProps">
</app-select-autocomplete>
</div>
</div>
// Create more inputs depend on app-select-autocompleteresult
</form>
</div>
PS app-select-autocomplete
是黑匣子,它的庞大组成部分我不知道这项工作,他可以在具有相同参数的其他地方正常工作。