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()
后端:我有 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()