当前位置: 首页 > 知识库问答 >
问题:

用ngFor和ngModel(或ngFrom)动态创建表单

艾凌龙
2023-03-14
<form (ngSubmit)="doSomething()">
<table>
    <thead>
        <tr>First Name</tr>
        <tr>Last Name</tr>
        <tr>Phone Number</tr>
    </thead>
    <tbody>
        <tr *ngFor="let person of team"></tr>
        <td><input type="text" [(ngModel)]="person.first_name" [ngModelOptions]="{standalone: true}" required></td>
        <td><input type="text" [(ngModel)]="person.last_name" [ngModelOptions]="{standalone: true}" required></td>
        <td><input type="text" [(ngModel)]="person.phone" [ngModelOptions]="{standalone: true}" required></td>
    </tbody>
</table>
<button (click)="addNewEntry()"></button>
<button type="submit">Submit</button>
team : new Array()
addNewEntry(){
    this.team.push({
        'first_name':'',
        'last_name':'',
        'phone':null})
}

doSomething(){
};

但是,如果我这样做,'Required'验证器在单击Submit按钮时不起作用。

我试过几种方法:

>

  • 没有设置[ngModelOptions]=“{standalone:true}”,而是尝试了name='person:{{$index}}‘。不起作用。

  • 共有1个答案

    龚俊捷
    2023-03-14

    您的最佳选择是使用Angular ReactiveFormsModule。ReactiveFormsModule支持FormArray,并将使执行验证和获取表单项值变得容易。

    请参阅:

    1. https://angular.io/guide/reactive-forms
    2. https://stackoverflow.com/a/48527939/9194488
     类似资料:
    • 问题内容: 我在mysql上创建数据库。首先创建主体表,每个表平均有30列。日志表的标准是引用表的pk加上每列*2。像这样: 参考表: 日志表: 现在,我想要创建一个过程,在该过程中,我将表名作为参数传递,并生成表日志查询并执行它。 做这个的最好方式是什么? 问题答案: 为了使一个字符串代表一个表(或数据库)名称,您将需要用变量连接查询字符串,并在存储过程中准备/执行一条语句。这是一个基本示例。

    • 本文向大家介绍javascript 动态创建表格,包括了javascript 动态创建表格的使用技巧和注意事项,需要的朋友参考一下 第二种方法:

    • 在ngFor循环中使用ngModel有一个问题。我在做电子商务应用程序,我想用数量来获得输入的价值,但每个ngModel都有相同的名称,所以它一直更新所有的输入,像这样:Img和下面是我的页面代码:

    • 我试图根据属性文件中定义的URL数量创建动态JButton和JLabel。 到目前为止,我尝试的是: 在我的Java程序中,我正在读取属性文件,并根据拆分字符串,现在我需要相应地生成按钮和标签。就像

    • 问题内容: 我对使用关系数据库还很陌生,所以我更喜欢使用一个好的ORM来简化事情。我花时间评估了不同的Python ORM,我认为我需要SQLAlchemy。但是,我已经陷入了精神上的死胡同。 我需要创建一个新表,以与在应用程序的播放器表中创建的播放器的每个实例一起使用。我想我知道如何通过元数据更改表的名称然后调用create函数来创建表,但是我不知道如何将其映射到新的动态类。 有人可以给我一些提