setValue在formArray角度8中并显示ui

卡马尔

我想在formArray中显示初始数据,我可以设置值并在控制台日志中显示值,但不以ui形式显示此数据

 ngOnInit() {
  this.getCertificate(this.id);
  this.assessmentForm = this.fb.group({
   certificateArray: this.fb.array([ this.createItem() ]),
  });
 }
 createItem(): FormGroup {
   return this.fb.group({
     confirm: '',
     score: '',
     description: ''
   });
 }

 getCertificate(id) {
   this.certificateList = [];
   this.UsersRegisterService.getCertificate(id).subscribe((res: any[]) => {
     this.certificateList = res;
     var index=0;
     this.certificateList.forEach(element => {

       this.AssessmentService.getCertificateAssessment(element.id.value).subscribe((res: any[]) => {
    if(res!=null){
      this.certificateArray.at(index).setValue(
         { confirm: res['confirm'], score: res['score']['value'],description:res['description']});    
       console.log( this.assessmentForm['controls'].certificateArray['controls'][index]['controls'].score.value);
     }
    });
    index++;
  });
});
}

我用这种方法设置值

this.certificateArray.at(index).setValue(
   { confirm: res['confirm'], score: res['score']})

请帮助我如何在Ui表单中显示此值

无机的

您可以稍微重构一下代码,现在您有了一个阴影名称res我会记录每个呼叫的响应,getCertificateAssessment以确保您得到了期望的结果:

  getCertificate(id) {
    this.certificateList = []; // this should be set at the top of your component
    this.UsersRegisterService.getCertificate(id).pipe(
      catchError(err => {
        console.log('get cert error', err);
        return [];
      })
    ).subscribe((list) => {
      this.certificateList = list;
      this.certificateList.forEach((element, i) => {
        this.AssessmentService.getCertificateAssessment(element.id.value).pipe(
        catchError(err => {
          console.log('get assessment error', err);
          return null;
        })
      ).subscribe((res) => {
          if (res) {
            console.log('res', i, res); // be sure of response
            this.certificateArray.at(i).setValue({
              confirm: res.confirm,
              score: res.score.value,
              description: res.description
            });
          } else {
            console.log('no res!');
          }
        });
      });
    });
  }

克里斯在管道方面提出了一个很好的观点,但是我猜这些服务调用是http请求,因此它们就像一个承诺一样完成了。

我还添加catchError了服务调用来捕获错误。

另外,您必须为每次评估打电话,这需要打电话。也许重构您的后端使其成为1个电话?

如果将端点重构getCertficateAssessment接受值数组并返回响应数组,则可以执行以下操作:

    this.UsersRegisterService.getCertificate(id).pipe(
      switchMap(list => this.AssessmentService.getCertificateAssessment(list.map(l => l.id.value)))
    );

您需要为每个评估创建一个ID,以便分配它们。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在角度ui网格中显示太多列

来自分类Dev

webpack 4的角度8延迟加载中未显示chunkName

来自分类Dev

如何在角度8中显示转换后的值?

来自分类Dev

如何在角度ui-grid中显示从json到ui-grid的数据

来自分类Dev

以角度 6 动态加载 formarray 中的多个下拉列表

来自分类Dev

IE8上的角度显示,选择元素中的显示数据无法正常工作

来自分类Dev

IE8上的角度显示,选择元素中的显示数据无法正常工作

来自分类Dev

角度:FormArray不迭代

来自分类Dev

动态角度的FormArray

来自分类Dev

显示/隐藏搜索Div角度UI

来自分类Dev

显示/隐藏搜索Div角度UI

来自分类Dev

角度UI选择突出显示HTML

来自分类Dev

将显示角度ui.grid [[object HTMLDivElement]],而不是每个单元格中的数据

来自分类Dev

角度ui网格分组显示组行中的第一个元素

来自分类Dev

IE中的角度ui模态

来自分类Dev

如何在Angular 8中正确使用setValue

来自分类Dev

使用FormArray将数据显示到表中

来自分类Dev

FormArray 中的 FormGroup 包含对象显示 [object Object]

来自分类Dev

如何在角度8的表td中显示多选下拉列表值

来自分类Dev

在UI中显示结果

来自分类Dev

如何以角度8并排显示包含在阵列中的图像(例如,连续显示2张图像,然后显示下一行)?

来自分类Dev

在角度ui引导程序中控制isOpen

来自分类Dev

角度UI路由器,嵌套状态不显示

来自分类Dev

角度ui-grid-下拉选择显示ID

来自分类Dev

位置更改时如何显示角度ui模态?

来自分类Dev

角度ui-grid显示HTML Unicode字符

来自分类Dev

角度Ui网格:用固定列突出显示整行

来自分类Dev

反应形式的角度显示模式中的角度错误

来自分类Dev

如何在角度2/8中使用chartjs-plugin-labels(饼图)显示百分比(%)

Related 相关文章

  1. 1

    如何在角度ui网格中显示太多列

  2. 2

    webpack 4的角度8延迟加载中未显示chunkName

  3. 3

    如何在角度8中显示转换后的值?

  4. 4

    如何在角度ui-grid中显示从json到ui-grid的数据

  5. 5

    以角度 6 动态加载 formarray 中的多个下拉列表

  6. 6

    IE8上的角度显示,选择元素中的显示数据无法正常工作

  7. 7

    IE8上的角度显示,选择元素中的显示数据无法正常工作

  8. 8

    角度:FormArray不迭代

  9. 9

    动态角度的FormArray

  10. 10

    显示/隐藏搜索Div角度UI

  11. 11

    显示/隐藏搜索Div角度UI

  12. 12

    角度UI选择突出显示HTML

  13. 13

    将显示角度ui.grid [[object HTMLDivElement]],而不是每个单元格中的数据

  14. 14

    角度ui网格分组显示组行中的第一个元素

  15. 15

    IE中的角度ui模态

  16. 16

    如何在Angular 8中正确使用setValue

  17. 17

    使用FormArray将数据显示到表中

  18. 18

    FormArray 中的 FormGroup 包含对象显示 [object Object]

  19. 19

    如何在角度8的表td中显示多选下拉列表值

  20. 20

    在UI中显示结果

  21. 21

    如何以角度8并排显示包含在阵列中的图像(例如,连续显示2张图像,然后显示下一行)?

  22. 22

    在角度ui引导程序中控制isOpen

  23. 23

    角度UI路由器,嵌套状态不显示

  24. 24

    角度ui-grid-下拉选择显示ID

  25. 25

    位置更改时如何显示角度ui模态?

  26. 26

    角度ui-grid显示HTML Unicode字符

  27. 27

    角度Ui网格:用固定列突出显示整行

  28. 28

    反应形式的角度显示模式中的角度错误

  29. 29

    如何在角度2/8中使用chartjs-plugin-labels(饼图)显示百分比(%)

热门标签

归档