Fixed dynamic summary page and storing of context formData values.
This commit is contained in:
@ -29,30 +29,23 @@
|
||||
|
||||
const formMachine = createMachine({
|
||||
id: 'form',
|
||||
initial: 'start',
|
||||
initial: 'input',
|
||||
context: {
|
||||
currentField: 0,
|
||||
formData: initialFormData
|
||||
},
|
||||
states: {
|
||||
start: {
|
||||
on: {
|
||||
NEXT: 'input'
|
||||
}
|
||||
},
|
||||
input: {
|
||||
on: {
|
||||
NEXT: [
|
||||
{
|
||||
target: 'submitting',
|
||||
actions: [
|
||||
assign({
|
||||
formData: (context) => ({
|
||||
...context.formData,
|
||||
[fields[context.currentField].name]: form[fields[context.currentField].name]
|
||||
})
|
||||
actions: assign({
|
||||
formData: (context, event) => ({
|
||||
...context.formData,
|
||||
[fields[context.currentField].name]: event.fieldValue
|
||||
})
|
||||
],
|
||||
}),
|
||||
cond: (context) => context.currentField === fields.length - 1
|
||||
},
|
||||
{
|
||||
@ -60,9 +53,9 @@
|
||||
actions: [
|
||||
assign({
|
||||
currentField: (context) => context.currentField + 1,
|
||||
formData: (context) => ({
|
||||
formData: (context, event) => ({
|
||||
...context.formData,
|
||||
[fields[context.currentField].name]: form[fields[context.currentField].name]
|
||||
[fields[context.currentField].name]: event.fieldValue
|
||||
})
|
||||
})
|
||||
]
|
||||
@ -98,7 +91,12 @@
|
||||
return;
|
||||
}
|
||||
|
||||
send('NEXT');
|
||||
const fieldValue = $form[currentFieldName];
|
||||
console.log(`Current input value: ${fieldValue}`);
|
||||
send('NEXT', { fieldValue });
|
||||
|
||||
// Log the context formData
|
||||
console.log(`Context formData: ${JSON.stringify($state.context.formData)}`);
|
||||
}
|
||||
|
||||
function handleKeyDown(event) {
|
||||
|
Reference in New Issue
Block a user