Как передать ввод в api из angular forms без formControlName?

Я передаю некоторые данные из angular в django rest api, что выглядит следующим образом

сначала о том, что нужно в django для api:

notice
    {
      description: something,
      classname : in which class notice is provided,
      students : from dropdown
    }

что я передаю из angular

description by formController
students by formcontroller

Теперь моя проблема в том, что я не принимаю classname как входные данные, потому что это не имеет смысла здесь

Итак, есть ли другой способ, с помощью которого я могу напрямую передать имя класса в api в качестве входных данных без отображения на UI

мой код angular:

this.announceForm = this._formBuilder.group({
  students   : [selectedStudents, Validators.required],
  description: ['', Validators.required]
});

Здесь представлены поля ввода django

here is image of django restframework input

Конечно, можно. Значение формы - это просто объект. Вы можете либо жестко закодировать нужное вам значение как часть группы формы, либо добавить его в значение, которое вы передаете вашей службе.

Если вы добавляете значение в группу формы, это не значит, что вы должны представить его пользователю.

Пример использования жестко заданного значения:

this.form = this.formBuilder.group({
  students: [
   '', [ Validators.required ]
  ],
  classname: [
    'some value'
  ],
  description: [
    '', [ Validators.required ]
  ],
});

Или добавить значение позже:

this.form = this.formBuilder.group({
  students: [
   '', [ Validators.required ]
  ],
  description: [
    '', [ Validators.required ]
  ],
});

const data = {
  ...this.form.value,
  classname: 'whatever',
};

this.yourService.whatever(data);

Обычно я просто жестко кодирую значение в formgroup, чтобы передать form.value в метод службы.

Вернуться на верх