我希望能够通过JavaScript创建表单元素(例如输入),将其插入DOM中,然后将其添加到有角反应性表单中。
组件
var el = document.createElement('input');
document.getElementById("form").appendChild(el)
-->what to do next?
模板
<form [formGroup]="form" #fromRef id="form">
--><input>
--><select>
</form>
编辑
我属于“常规”方法,用于遍历“预绑定”组件或DOM元素。我真的很感兴趣是否有一种方法可以完全动态地做到这一点。
答案 0 :(得分:0)
您将以这种方式对表单进行建模,从而可以使用*ngFor
指令(直接进行DOM操作)来生成输入
检查此示例:
https://angular.io/guide/dynamic-form#question-form-components
它通过遍历问题动态地构建表单。您可以使用表单数组和支持模型执行相同的操作。在给定的示例中,您可以在运行时中更改问题的数量,并且表单将正确地重建自身。我认为这是最符合您要求的。