Angular 2+ Primeng + 下拉菜单 + 响应式表单

Angular 2+ Primeng + dropdown + Reactive Forms

后端:我有 REST API 请求主体包含一个枚举参数 ExperienceType

前端:

export enum ExperienceType {
  ENTRY,
  INTERMEDIATE,
  EXPERIENCED,
  EXPERT,
}

export const ExperienceTypeMapping = [
  {value: ExperienceType.ENTRY, type: 'ENTRY'},
  {value: ExperienceType.EXPERIENCED, type: 'EXPERIENCED'},
  {value: ExperienceType.EXPERT, type: 'EXPERT'},
  {value: ExperienceType.INTERMEDIATE, type: 'INTERMEDIATE'}
];

当我让 post 请求它看起来像对象({value: 2 , type: "Entry" } )而不仅仅是 String "ENTRY" :

从表单获取值:

vacancyForm = this.formBuilder.group({
    ..........................
    experienceType: ['', [Validators.required]],
    ..........................
  });



this.vacanciesService.createVacancy(this.vacancyForm.value).subscribe() ....

所以我想将请求正文从对象更改为字符串 {value: 2 , type: "Entry" } 到 -> "Entry"

我尝试跟随但不起作用:

temp=this.vacancyForm.get('experienceType').get('type'))

this.vacancyForm.controls.experienceType.setValue(temp);

你可以试试

this.vacanciesService.createVacancy({
    ...this.vacancyForm.value,
    experienceType: this.vacancyForm.get('experienceType').get('type')
}).subscribe()