Forms
Last updated
import { NgxsFormPluginModule } from '@ngxs/form-plugin';
@NgModule({
imports: [
NgxsFormPluginModule,
]
})
export class SomeModule {}import { State } from '@ngxs/store';
@State({
name: "todos",
defaults: {
pizzaForm: {
model: undefined,
dirty: false,
status: "",
errors: {}
}
}
})
export class PizzaState {}import { Component } from '@angular/core';
import { FormBuilder } from '@angular/forms';
@Component({
selector: 'pizza-form',
template: `
<form [formGroup]="pizzaForm" novalidate ngxsForm="todos.pizzaForm" (ngSubmit)="onSubmit()">
<input type="text" formControlName="toppings" />
<button type="submit">Order</button>
</form>
`
})
export class PizzaComponent {
pizzaForm = this.formBuilder.group({
toppings: ''
});
constructor(private formBuilder: FormBuilder) {
}
onSubmit() {
//
}
}this.store.dispatch(
new UpdateFormDirty({
dirty: false,
path: 'todos.pizzaForm'
})
);