Я думаю, что вы добавили ненужные вещи в объявления в вашем @NgModule
.Вы должны быть хороши, чтобы пойти с этим:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { ReactiveFormsModule } from '@angular/forms';
import {FormlyModule} from '@ngx-formly/core';
import {FormlyBootstrapModule} from '@ngx-formly/bootstrap';
import { AppComponent } from './app.component';
@NgModule({
imports: [
BrowserModule,
ReactiveFormsModule,
FormlyModule.forRoot(),
FormlyBootstrapModule,
],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
И в вашем классе компонентов:
import { Component } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { FormlyFieldConfig } from '@ngx-formly/core';
@Component({
selector: 'my-app',
template: `
<h3>@ngx-formly/bootstrap</h3>
<form [formGroup]="form" (ngSubmit)="submit(model)">
<formly-form [model]="model" [fields]="fields">
<button type="submit" class="btn btn-default">Submit</button>
</formly-form>
</form>
`,
})
export class AppComponent {
form = new FormGroup({});
model = { email: 'email@gmail.com' };
fields: FormlyFieldConfig[] = [
{
key: 'email',
type: 'input',
templateOptions: {
type: 'email',
label: 'Email address',
placeholder: 'Enter email',
required: true,
}
}, {
key: 'gender',
type: 'radio',
templateOptions: {
type: 'radio',
label: 'Gender',
required: true,
name: 'gender',
options: [{ value: 'Male', key: 'M' }, { value: 'Female', key: 'F' }]
}
}
];
submit(user) {
console.log(user);
}
}
Вот Рабочий пример StackBlitz для вашей ссылки.
Примечание: Я использую UI-Bootstrap Module для интеграции.