Angular не может установить значение для формирования элемента управления

В основном я пытаюсь редактировать и обновлять существующие данные в базе данных. Итак, сначала при необходимости я получаю данные из БД для конкретного сотрудника и устанавливаю его для своего свойства EMPLOYEE, как показано ниже -,

Это свойство класса, в котором я сохраняю данные после получения из БД.

  employee: any; //This is where the employee saved after getting from DB

Этот метод получает данные из БД и успешно работает.

getEmployee(id){
    var url = `http://localhost:3000/employee/get/${id}`;    
    this.crudService.getItem(url).subscribe((data:any)=>{
      this.employee = data.data;     
    })
  }

после этого я хочу использовать и установить значение для одного из моих входных данных формы в качестве значения по умолчанию с помощью свойства класса EMPLOYEE. Я использую его так (ниже) с FORM CONTROL, но не работаю -,

this.employeeName = new FormControl(
      this.employee.employeeName, [Validators.required, Validators.minLength(5), Validators.maxLength(50)]
    );

Но он работает, когда я использую его в html напрямую по АТРИБУТУ ЗНАЧЕНИЯ, как показано ниже -,

<input type = "text" class = "form-control form-control-sm" 
 id = "inputEmployeeName" 
 name = "employeeName" 
 formControlName = "employeeName" 
 value = "{{employee.employeeName}}"
 >

но я не хочу этого. Я хочу установить значение FORM CONTROL. Как я могу это сделать ?

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
1
0
3 692
1

Ответы 1

Попробуйте что-то вроде кода ниже

this.myFormGroup.setValue({
  formControlName1: myValue1, 
  formControlName2: myValue2
});

показывает ошибку: Cannot read property 'employeeName' of undefined

Sushil 07.05.2018 09:54

я использую вот так: this.editEmployeeForm.setValue({ employeeName: this.employee.employeeName });

Sushil 07.05.2018 09:55

Можете ли вы создать plunker или stackblitz, где я могу увидеть ваш код, чтобы выяснить, где вы ошибаетесь.

Sudhir Sapkal 07.05.2018 11:13

@SushilMandi Пожалуйста, проверьте ответ getEmployee (id) и добавьте условие if над значением настройки. Возможно, здесь проблема связана с Async. Перед получением результата в this.employee в setValue запускается, и, следовательно, вы получаете неопределенную ошибку сотрудника.

Sudhir Sapkal 07.05.2018 15:10

могу ли я создать приложение MEAN в stackblitz?

Sushil 07.05.2018 17:43

@SushilMandi, вам не нужно использовать приложение MEAN, просто скопируйте свой служебный файл, файл компонента ts и файл HTML

Sudhir Sapkal 07.05.2018 18:02

Другие вопросы по теме