NativeScript / Angular - 反应形式不起作用

问题描述 投票:1回答:2

在组件我这样做:

public loginForm: FormGroup = this.fb.group({
  email: ['', Validators.required],
  password: ['', Validators.required]
});

然后在模板绑定表单中:

<StackLayout orientation="vertical" [formGroup]="loginForm">
  <TextField formControlName="email" hint="Email"></TextField>
  <TextField formControlName="password" hint="Password" secure="true"></TextField>
  <Button text="Log in" (tap)="login()"></Button>
</StackLayout>

但是当我在运行loginForm函数时记录login值时,即使文本字段具有值,它仍然是空的。

我已经进口了ReactiveFormsModuleNativeScriptFormsModule但是没有用。如果我将password更改为任何随机名称,我也不会收到错误或任何错误。所以它就像它甚至没有以任何方式连接到表单。

我究竟做错了什么?我使用的是nativescript cli 2.5+,这表明这段代码应该正常工作。

编辑:

我已经做了一些挖掘,似乎延迟加载模块正是导致它破坏以及其他事情的原因。我在这里提出了一个新问题:

https://github.com/NativeScript/nativescript-angular/issues/735

很高兴听到是否有其他人遇到过同样的问题以及是否有解决方案。

nativescript angular2-nativescript angular2-formbuilder reactive-forms
2个回答
0
投票

由于您已经导入了NativeScriptFormsModule,因此在FormGroup外声明一个新变量并尝试将您的texfield构建为:

<TextField hint="Email" [(ngModel)]="yourEmailVariable"></TextField>


0
投票

确保将ReactiveFormsModuleNativeScriptFormsModule导入到实际组件的模块imports(Login.Module.ts)中,而不仅仅是AppModule,因为它不会起作用!

我做了这个,然后Reactive Forms立即工作。

© www.soinside.com 2019 - 2024. All rights reserved.