【发布时间】:2021-08-23 16:12:29
【问题描述】:
我正在使用角度和故事书。我的模型中有一个 FormGroup 和 FormArray,但它们不适用于故事书。
a.stories.ts ->
import { CommonModule } from '@angular/common';
import { FormArray, FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
import { Meta, moduleMetadata, Story } from '@storybook/angular';
export default {
title: 'Example/A',
component: AComponent,
decorators: [
moduleMetadata({
imports: [
CommonModule,
ReactiveFormsModule,
],
providers: [],
}),
],
} as Meta;
const Template: Story<AComponent> = (args: AComponent) => ({
props: args,
});
export const Costs = Template.bind({});
Costs.args = {
model: {
questions: [
{
...,
"question": "lorem ipsum",
"formGroup": new FormGroup({
answers: new FormArray([
new FormGroup({
"Q020_A001": new FormControl(null, [Validators.required]),
"Q020_A002": new FormControl(null, [Validators.required]),
}),
]),
}),
"answers": [
{
...,
"answerCode": "Q020_A001",
},
{
...,
"answerCode": "Q020_A002",
},
],
}
],
},
};
我在故事书中遇到错误 ->
TypeError: Converting circular structure to JSON
--> starting at object with constructor 'FormGroup'
| property 'controls' -> object with constructor 'Object'
| property 'answers' -> object with constructor 'FormArray'
--- property '_parent' closes the circle
at JSON.stringify (<anonymous>)
如果“formGroup”为空,它可以工作。 ->
"formGroup": new FormGroup({
}),
但如果“formGroup”不为空,则不起作用。 ->
"formGroup": new FormGroup({
asd: new FormControl(''),
}),
我该如何解决这个问题?
【问题讨论】:
标签: angular angular-reactive-forms storybook angular-storybook