Новое поле угловой формы, которое я хочу записать как переменную и добавить в новый список sharepoint при отправке

У меня есть приложение, которое подрядчик создал для нас, а затем ушел, используя Angular. Мне удалось изменить и модифицировать большую часть кода, чтобы заставить его делать то, что мы хотим, но я новичок в Angular, поэтому я не уверен, как справиться с этой следующей задачей.

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

 <div class="form-group">
                    <mat-form-field class="col-md-6">
                        <input matInput class="form-control" 
                                id="LearnerWWID" 
                                type="text" 
                                placeholder="WWID" 
                                value=''
                                formControlName="LearnerWWID"/>
                    </mat-form-field>
                </div>

Здесь упоминается новое поле. Я хотел бы зафиксировать это значение в этом разделе кода component.ts:

saveRequest(): void {
console.log('TrgAROneComponent -> saveRequest');
if (this.requestFormTrgAROne.dirty && this.requestFormTrgAROne.valid) {
    // Copy the form values over the product object values
    const p = Object.assign({}, this.requestFormTrgAROne.value);
    this.selTraining = this._requestService._trgUgInv.filter(trg =>
      trg.TrainingCode.toLowerCase() === p.Training.toLowerCase ||
      trg.UserGroupName.toLowerCase() === p.UserGroupName.toLowerCase())[0];
      console.log('TrgAROneComponent -> saveRequest-> this.selTraining', this.selTraining);
    p['TrainingName'] = this.selTraining.TrainingName;
    p['UserGroupName'] = this.selTraining.UserGroupName;
    p['AddWWIDApprovalReq'] = this.selTraining.AddWWIDApprovalReq;
    p['RemoveWWIDApprovalReq'] = this.selTraining.RemoveWWIDApprovalReq;
    p['AudienenceIDGrpOwners'] = this.selTraining.AudienenceIDGrpOwners;
    p['ReqSupportMailbox'] = this._requestService._selReq.ReqSupportMailbox;
    p['ProcessingMailbox'] = this.selTraining.ProcessingMailbox;
    p['RequesterName'] = this._requestService._userProfile.DisplayName;
    p['RequesterEmail'] = this._requestService._userProfile.Email;
    p['RequesterWWID'] = this._requestService._userProfile.WWID;
    p['ReqContentTypeId'] = this._requestService._selReq.ReqContentTypeId;
    p['SharedApprovalMailbox'] = this.selTraining.SharedApprovalMailbox;
    p['LearnerWWID'] = what goes here?  
    // Decide if approval is required
    p['IsApprovalReq'] = this.isApprovalRequired(p);
    console.log('TrgAROneComponent -> saveRequest-> p', p);
    this._trgaroneService.saveRequest(p).subscribe(
      result => {
        console.log('TrgAROneComponent ->saveRequest- > result', result);
        // this.requestFormTrgAROne.reset();
        this.router.navigate(['/reqmgmt/confirm']);
      },
      error => {
        this.errorMessage = error;
        console.log('TrgAROneComponent ->saveRequest- > error', error);
      }
    );
}

}

Любые предложения были бы полезны.

С уважением,

Адам

вы в основном копируете значение формы requestFormTrgAROne в объект p. если в вашей форме есть пара "ключ-значение" для LearerWWID, то и в p будет то же самое.

Sarthak Aggarwal 26.10.2018 07:37

просто чтобы мне было ясно, где этот набор ключей и значений? Это новое поле, которое ранее не было включено в форму.

PGHCC TechOps 26.10.2018 13:44

Я полагаю, у вас есть реактивная форма, вы сделали FormControl для LearerWWID?

Sarthak Aggarwal 26.10.2018 13:47

да, это определено в этом div в форме. <div class = "form-group"> <mat-form-field class = "col-md-6"> <textarea matInput class = "form-control" id = "requestDescriptionId" placeholder = "Бизнес-обоснование (обязательно)" rows = 3 formControlName = "RequestDescription"> </textarea> </mat-form-field> </div>

PGHCC TechOps 26.10.2018 15:20
0
4
15
0

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