无法使用Angular4在Object of Object中推送formdata

时间:2017-08-14 07:35:11

标签: angular angular2-forms angular-reactive-forms reactive-forms

我有表格,它放在Bootstrap模型中,当用户点击提交按钮时,我想在TaskList中推送表单数据。

但是当用户点击表单中的提交按钮时,formdata不会推送到TaskList,而是会重定向到另一个页面,例如Link,而ngSubmit也无效。

如果我删除类型脚本文件中的“TaskList”推送代码,表单ngSubmit工作正常,我得到表单数据,两种情况我都没有收到任何错误。

如何从我的表单中获取数据并推送到TaskList数组ob对象。

TS:

export class TodoListComponent  { 

    TaskList : Task[];
     name:string;
    onAddtask(form : NgForm){
        console.log(form);
        this.TaskList.push({
            id:this.TaskList.length+1,
            title:form.value.taskname,
            description:form.value.description,
            due:form.value.duedate,
            done:false
        });
    }

}


interface Task {
    id: number;
    title: string;
    description?: string,
    due?: string,
    done: boolean
}

HTML:

<div class="well well-sm">
                <h1>Todos</h1>
                <button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#addTaskModel">+ Add</button>
                <!-- Modal -->
                <div class="modal fade" id="addTaskModel" role="dialog">
                    <div class="modal-dialog modal-md">
                        <div class="modal-content">
                            <div class="modal-header">
                                <button type="button" class="close" data-dismiss="modal">&times;</button>
                                <h4 class="modal-title">Modal Header</h4>
                            </div>
                            <div class="modal-body">
                                <form (ngSubmit)="onAddtask(addtask.value)" #addtask="ngForm">
                                    <div class="form-group">
                                        <label for="taskname">Task Name:</label>
                                        <input type="text" class="form-control" id="taskname" name="taskname" ngModel>
                                    </div>
                                    <div class="form-group">
                                        <label for="description">Task Description</label>
                                        <textarea col="6" rows="6" class="form-control" name="description" ngModel></textarea>
                                                       </div>
                                                       <div class="form-group">
                                                               <label for="duedate">Due Date</label>
                                                               <input class="form-control" type="date" name="duedate" ngModel>
                                                             </div>
                                               <button type="reset" class="btn btn-danger">Clear</button>
                                               <button type="submit" class="btn btn-primary">Submit</button>
                                               </form> 
                                </div>
                            </div>
                            </div>
                    </div>
                <!-- Model End Here-->
            </div>

0 个答案:

没有答案