formbuilder选择值作为对象

时间:2018-04-26 09:34:06

标签: ionic-framework ionic3

我有一个表单,其中有一个多选字段。从所接收的数据中填充该选择字段的选项,例如, 任务对象。

[
{"id":7,"title":"Seven","project":1},
{"id":8,"title":"Eight","project":2},
{"id":9,"title":"Nine","project":2}
]

和我的选择字段:

<ion-list>
    <ion-item>
        <ion-label>Select tasks</ion-label>
        <ion-select formControlName="tasks" multiple="true" (ionChange)="arrangeSelectedTasks()">
            <ion-option *ngFor="let task of tasks" value={{task}}>{{task.title}}</ion-option>
        </ion-select>
    </ion-item>
</ion-list> 

功能

arrangeSelectedTasks(){

    for(let task of this.addScenarioForm.value.tasks){
        this.selectedTasks.push(task)
    }

    console.log("selectedTasks: ", this.selectedTasks)
}

需要一组任务对象

value={{task.id}}通过["7", "8"]value={{task}} passes ["[object Object]", "[object Object]"]

的位置

这会导致我的后端抛出BAD REQUEST错误。我想从价值中传递[{..},{..}]这样的东西。

如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

使用 .map

selectedTasks:any = [];

arrangeSelectedTasks(){
         this.addScenarioForm.value.tasks.map(task => {
           this.selectedTasks.push({task.id});
    });
        console.log("selectedTasks: ", this.selectedTasks)
    }