Патчвалу угловой 6 не работает - PullRequest
0 голосов
/ 28 августа 2018

Когда я пробую patchValue, он вообще не работает. Также нет ошибок.

@ViewChild('sForm') serviceplanForm: NgForm;

objectid = '';
allisloaded = true;
edit = false;

constructor(private service: GeneralService,
          private route: ActivatedRoute,
          private router: Router) { }

ngOnInit() {

this.objectid = this.route.snapshot.params['id'];

this.route.queryParams.subscribe(params => {

  if (Object.keys(params).length !== 0 && params.constructor === Object) {
    this.edit = true;
    this.allisloaded = true;
    this.setFields(params);
  }
});
}
private setFields(params: any) {
 this.serviceplanForm.form.patchValue({
   objectname: 'asdfsdf'
 });
}

HTML

<form (ngSubmit)="onSubmit(sForm)" #sForm="ngForm">

    <div class="form-group" [ngClass]="{'has-error': (!objectname.valid && sForm.submitted)}">
      <label>{{ 'serviceplan.NAME' | translate }} <span class="text-danger">*</span></label>
      <input type="text" class="form-control" ngModel #objectname="ngModel" name="objectname" required>
      <span *ngIf="!objectname.valid && sForm.submitted" class="help-block text-danger">{{ 'serviceplane.SERVICEPLANNAMEREQUIRED' | translate }}</span>
    </div>
</form>

Тот же код будет работать в других моих модулях, но по какой-то причине он не работает в этом компоненте.

форма отображается правильно, когда я регистрирую serviceplanForm.

UPDATE

Хорошо, когда я вызываю patchvalue внутри httpcall, он внезапно работает. Но я не хочу этого.

this.service.callService(new 
Method(environment.api.methods.objects.getOne  + this.objectid , null, 'get')).subscribe(response => {
  console.log(response);
  this.serviceplanForm.form.patchValue({
      objectname: 'testname'
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...