我希望能够通过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元素。我真的很感兴趣,如果有一种方法可以完全动态地做到这一点。
您将以这样的方式对表单进行建模,即您将能够使用*ngFor
指令生成输入,而不是直接操作DOM
检查这个例子:
https://angular.io/guide/dynamic-form#question-表单组件
它通过对问题进行迭代来动态构建表单。您可以使用表单数组和支持模型来执行同样的操作。在给定的示例中,您可以在运行时更改问题的数量,表单将自动重建。我认为这最符合你的要求。