Общая логика для замены одного значения в FormGroup пользовательским значением - PullRequest
0 голосов
/ 07 января 2019

Я использую Angular 6. У меня есть регистрационная форма студента. Поля: имя, адрес, телефон, партия.

В бэкэнде у меня есть одна таблица для студента и другая таблица для партии (которая имеет свои собственные свойства, например: идентификатор, имя, расписание ...).

Теперь, в пользовательском интерфейсе формы регистрации студента, мне нужно отобразить одно выпадающее меню для выбора (имена). Но при сохранении я должен сохранить идентификатор в таблице учеников.

текущий вывод formGroup.value: {имя: "Джон", адрес: "12 Main St", телефон: "22421231234", партия: "Партия 1"}

Вместо этого мне нужно, {имя: "Джон", адрес: "12 Main St", телефон: "22421231234", партия: "id #"}

Я знаю два решения: одно, я могу вручную создать JSON без использования группы форм, я могу иметь модель и продолжать обновлять значения при входе пользователя. Во-вторых, я могу заменить пакет с идентификатором. (Это не будет надежно, если я выполню поиск по имени в моем массиве, так как в моем массиве может быть несколько элементов с одинаковым именем)

Есть ли другое простое решение для управления этим?

1 Ответ

0 голосов
/ 07 января 2019

Привет, вы можете использовать класс модели, чтобы изменить свою форму, значение в необходимой форме.

 export class Student
{
  name:string;
  address:string;
  phone:string;
  Batch :number;
constructor()
{
}
map(input:any)
{
  this.name=input.name;
   this.address=input.address;
    this.phone=input.phone;
     this.Batch=batchService.getIdbyName(input.Batch);

}

используйте эту модель в ваших component.ts вот так пусть json = new Student (). map (form.value);

...