如何禁用@storybook/addon-controls对特定Prop的自动控件生成?
禁用指定Arg的控件生成但保留Prop信息
我之前也碰到过这个需求,其实通过Storybook的argTypes配置就能轻松实现——既可以让目标Prop在列表里显示名称、类型和描述,又能关掉它的控件生成。
具体做法很简单,在你的组件Stories文件里的Meta配置中,针对想要设置的Prop添加argTypes字段,把对应的control属性设为false就可以了。举个实际的例子:
假设你的组件有一个onButtonClick的事件处理器Prop,你可以这么写:
export default { title: 'MyComponent', component: MyComponent, argTypes: { onButtonClick: { control: false, // 关键:禁用控件生成 description: '点击按钮时触发的事件处理器', type: { name: 'function' }, // 手动指定类型(如果Storybook没自动识别的话) }, }, } as Meta;
这样配置之后,onButtonClick这个Prop会正常出现在Controls面板的Prop列表里,展示你设置的名称、类型和描述,但不会生成任何可交互的控件,完全符合你的需求。
另外如果你的组件是用TypeScript写的,并且已经通过TS类型定义了Prop的类型和描述,Storybook通常能自动识别这些信息,你只需要加上control: false这一项就够了,不用重复写类型和描述。
内容的提问来源于stack exchange,提问作者jayarjo
相关产品推荐
相关产品推荐

