首页 > 解决方案 > 无法使用 Ionic 3 在 formGroup 中设置默认值

问题描述

我试图以FormGroup这种方式在对象中传递值:

private _doSettingsForm() {

    const settings: SettingsInterface = this.account.settings;
    console.info('Form from settingsForm : \n' + JSON.stringify(settings));

    this.changeSettings = this.formBuilder.group({
        useVocalMode: [
            settings.useVocalMode
        ],
        notificationTime: [
            settings.notificationTime.format('HH:mm')
        ],
        maxPurchaseRadius: [
            settings.maxPurchaseRadius,
            [
                Validators.min(this.purchaseBounds.lower),
                Validators.max(this.purchaseBounds.higher)
            ]
        ]
    });

    console.info('changeSettings : ' + typeof this.changeSettings);
}

但是,FormGroup没有创建。如果我从我的界面传递了一些硬值而不是值,那没关系。

我不知道我错过了什么。

注意:设置已正确填充

注意:进口是

import { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';

标签: angularionic-frameworkangular2-formbuilder

解决方案


好吧,好吧...问题出在notificationTime财产上。我曾认为它是一个moment对象,但它是一个JSON时间。所以,我只是把它从:

notificationTime: [
    settings.notificationTime.format('HH:mm')
],

至 :

notificationTime: [
    settings.notificationTime
],

形式还可以……只需要得到正确的时间,即小时 - 2(6而不是4)。


推荐阅读