无法使用Ionic 3在formGroup中设置默认值

时间:2018-10-21 10:30:40

标签: angular ionic-framework angular2-formbuilder

我试图通过这种方式在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';

1 个答案:

答案 0 :(得分:0)

好的,好吧。问题出在notificationTime属性上。我曾将其视为moment对象,但是却是JSON时间。 所以,我将其更改为:

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

至:

notificationTime: [
    settings.notificationTime
],

而且形式还可以...只需获得正确的小时,​​即小时-2(6而不是4)。