在为我们的Angular组件创建故事时,我们有一系列可选的数值属性:
@Component(...)
export class MyComponent {
@Input() name: string;
@Input() min?: number;
@Input() max?: number;
}
如果在args中未定义这些可选参数,我们会看到控制台错误和警告: The specificed value "NaN" cannot be parsed, or is out of range.
,并且字符串 "NaN"
被传递到Angular组件中:
故事:
export const Default: { args: MyComponent } = {
args: {
name: 'Foo',
}
};
开发者工具元素:
<ng-input ng-reflect-min="NaN" ng-reflect-max="NaN"></ng-input>
当我们明确将 undefined
作为故事中的最小/最大属性时,这些错误就会消失:
export const Default: { args: MyComponent } = {
args: {
name: 'Foo',
min: undefined,
max: undefined,
}
}
显而易见的解决方法是将最小/最大值作为默认参数的一部分传递,但似乎有点hacky,因为不得不显式地将 undefined
传递给一个按定义未定义的属性。
2条答案
按热度按时间pw136qt21#
我正在面临类似的问题。故事书正在修改组件的公共属性,将其设置为NaN等。
piah890a2#
@denchp 最新的7.0测试版中,这个问题还存在吗?