动态添加多个数组的输入

时间:2018-09-26 21:52:35

标签: angularjs

我试图添加多个数组输入和一个将创建新输入的按钮。

我有四个数组vm.work_place[]vmwork_year_start[]vm.work_yead_end[]vm.work_why_left[]。我想要的是每次单击一个按钮时创建一个新输入,然后单击另一个按钮将删除输入。

<button ng-click="vm.work_place.push(' ');vm.work_year_start.push(' ');vm.work_yead_end.push(' ');vm.work_why_left.push(' ');">Add row</button>

<tr ng-repeat="x in vm.work_place">
    <td>
        <input name="work_place[]" ng-model="vm.work_place[$index]"/>
    </td>
    <td>
        <input name="work_place[]" ng-model="vm.work_year_start[$index]"/>
    </td>
    <td>
        <input name="work_place[]" ng-model="vm.work_yead_end[$index]"/>
    </td>
    <td>
        <input name="work_place[]" ng-model="vm.work_why_left[$index]"/>
    </td>
    <td>
        <button ng-click="vm.work_place.splice(index, 1);vm.work_year_start.splice(index, 1);vm.work_yead_end.splice(index, 1);vm.work_why_left.splice(index, 1);">Remove row</button>
    </td>
</tr>

但是问题是,当我单击添加新行按钮时,上面的代码给我一个ngRepeat:dupes错误。

如何同时创建多个输入。在所有四个数组上添加一个项?

1 个答案:

答案 0 :(得分:0)

ngRepeat:dupes,当您在具有重复值的数组中进行迭代时,会发生此错误。因此,我猜您在第二次添加行时会出错。因为在添加第一行并再次单击' '时,已经 vm_worksapace 已将' '作为数据,所以现在存在重复值,ng-repeat将给出你错了。 要使它具有重复值

替换 <tr ng-repeat="x in vm.work_place" > <tr ng-repeat="x in vm.work_place track by $index" >