首页 > 解决方案 > 如何在打字稿中动态创建输入类型文本

问题描述

我知道在 javascript 中,我可以通过以下方式创建一个元素。

     var input = document.createElement("input");
     input.type = "text";
     input.className = "css-class-name"; // set the CSS class
     document.body.appendChild(input);

在我的 Angular 应用程序中,我从ngOnInitapp.component.ts 中的 http 服务获取了一些数组值。

我有一个基于数组值动态创建输入类型文本的场景。如果数组值为 5,则应创建五个输入类型。

打字稿可以吗?或者我也应该在打字稿中使用上面的代码?

处理这种情况的最佳方法是什么?

标签: javascriptangulartypescript

解决方案


创建一组表单控件。堆栈闪电战

inputs: FormControl[] = [];

ngOnInit() {
  this.myService.getNumberOfInputs().subscribe(count => {
    for (let i = 0; i < count; i++) {
      this.inputs.push(new FormControl(''));
    }
  });
}
<input type="text" *ngFor="let input of inputs" [formControl]="input">

推荐阅读