You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何控制Angular Storybook v6.5.15仅在Controls中显示INPUTS?

解决Storybook 6.5.15 Angular组件Controls面板仅显示INPUTS的问题

针对你的需求,有两种方式可以实现Controls面板只展示@Input标记的属性,隐藏PROPERTIES、METHODS、OUTPUTS:

一、单个故事配置(仅对当前组件生效)

在组件对应的.stories.ts文件中,通过parameters.controls.include指定只展示需要的@Input属性:

import { MyComponent } from './my.component';

export default {
  title: 'Components/MyComponent',
  component: MyComponent,
  parameters: {
    controls: {
      // 只列出你需要展示的@Input属性名
      include: ['data', 'isEditable']
    }
  }
};

export const Default = {};

如果需要排除的属性更多,也可以用正则匹配排除非目标属性:

controls: {
  exclude: /^(?!data|isEditable).*/
}

二、全局配置(所有组件故事生效)

如果希望所有Angular组件的Storybook都只显示@Input属性,修改.storybook/preview.js文件,通过筛选argTypes的类型来实现:

export const parameters = {
  controls: {
    include: (args, argTypes) => {
      // 只保留type为'input'的属性(对应@Input装饰器标记的变量)
      return Object.fromEntries(
        Object.entries(argTypes).filter(([_, argType]) => argType.type.name === 'input')
      );
    }
  }
};

原理说明

在Storybook 6.5的Angular集成中,@Input标记的属性会被归类为type.name = 'input',而普通公共属性是type.name = 'property',METHODS和OUTPUTS也有对应的类型标识,通过上述筛选逻辑就能精准只保留INPUTS面板。

内容的提问来源于stack exchange,提问作者Gnik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 15:15:16