繁体   English   中英

如何使用从回调函数获得的值以角度设置反应形式控件的值?

[英]How to set value in a reactive form control in angular, using the value obtained from the call back function?

我在这里使用引导箱,并且能够从提示中接收值,并且还能够对其进行控制台(使用回调函数)。 但是我无法在 addAssessentForm 的表单控件(overallPercent)之一中设置相同的值。

(我想将从提示输入框(单击按钮)获得的值设置为反应式表单输入框) 我的提示 能够在控制台中获得价值 我想获得相同值的表单字段,预填充(在右键单击时,提示)

HTML 代码:

 <div> <input type="checkbox" class="form-check-input" [attr.disabled]="disabledLocation" formControlName="rural" (click)="onRuralClick($event)" /> <label class="mx-2"> Rural</label> </div>

TS 代码:

 onRuralClick(e) { let ans; let ruralCheck = e.target.checked; if (ruralCheck == true) { bootbox.prompt({ title: "Enter Ratio", size: 'small', centerVertical: true, buttons: { cancel: { label: '<i class="fa fa-times"></i>', className: 'btn-danger', }, confirm: { label: '<i class="fa fa-check"></i>', className: 'btn-success' } }, callback: function(result: number) { ans = result; console.log(ans); }, }); // this.addAssessmentForm.controls['overallPercent'].setValue(ans); } }

一个初始化所有表单控件的方法:

 createForm() { this.addAssessmentForm = this.fb.group({ assessmentId: [], assessmentName: [ ], ], assessmentDescription: [null, [Validators.maxLength(200)]], startDateCheck: [], startDate: [], endDateCheck: [], endDate: [], totalNumberOfDay: [this.calnumofDays, [Validators.required]], class: [], status: [true], rural: [], urban: [], overallPercent: [], }); }

如果要访问类变量,只需使用箭头函数:

onRuralClick(e) {
  let ans;
  let ruralCheck = e.target.checked;
  if (ruralCheck == true) {
    bootbox.prompt({
      title: "Enter Ratio",
      size: 'small',
      centerVertical: true,
      buttons: {
        cancel: {
          label: '<i class="fa fa-times"></i>',
          className: 'btn-danger',
        },
        confirm: {
          label: '<i class="fa fa-check"></i>',
          className: 'btn-success'
        }

      },
      callback: (result: number) => {
        ans = result;
        this.addAssessmentForm.controls['overallPercent'].setValue(ans);
        console.log(ans);
      },



    });

    
  }


}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM