[Bug]: Storybook Webcomponent - 控制面板 [type] 不支持可选属性

xkftehaa  于 3个月前  发布在  其他
关注(0)|答案(1)|浏览(45)

描述bug

storybook/code/renderers/web-components/src/docs/custom-elements.ts
第41行 d9d2fbb
| | functionmapItem(item: TagItem,category: string): InputType{ |

item.type?.text

不支持可以是两种或更多不同类型或可以是未定义的字段。

myField?: string

storybook将在控制面板中显示一个 Set Object

这应该设置为字符串而不是对象
我意识到,如果你有一个具有多种类型的属性(这是不好的),那么storybook无法决定使用哪一个

myField: string | boolean

但是对于可选属性,storybook应该支持它

重现问题

给定自定义元素定义如下:

export class CustomElement extends LitElement {

  /**
  * Description of the field
  */
  @property()
  myCustomField?: string;

  // .....
}

生成的 custom-elements.json 将包含

{
             "kind": "field",
             "name": "myCustomField",
             "type": {
               "text": "string | undefined"
             },
             "description": "Description of the field",
             "attribute": "myCustomField"
           },

系统

Environment Info:

  System:
    OS: macOS 13.2.1
    CPU: (10) arm64 Apple M1 Pro
  Binaries:
    Node: 18.14.0 - ~/.nvm/versions/node/v18.14.0/bin/node
    Yarn: 1.22.19 - ~/.nvm/versions/node/v18.14.0/bin/yarn
    npm: 9.3.1 - ~/.nvm/versions/node/v18.14.0/bin/npm
  Browsers:
    Chrome: 111.0.5563.110
    Firefox: 111.0.1
    Safari: 16.3
  npmPackages:
    @storybook/addon-a11y: ^7.0.0-rc.8 => 7.0.0-rc.8
    @storybook/addon-actions: ^7.0.0-rc.8 => 7.0.0-rc.8
    @storybook/addon-docs: ^7.0.0-rc.8 => 7.0.0-rc.8
    @storybook/addon-essentials: ^7.0.0-rc.8 => 7.0.0-rc.8
    @storybook/addon-links: ^7.0.0-rc.8 => 7.0.0-rc.8
    @storybook/blocks: ^7.0.0-rc.8 => 7.0.0-rc.8
    @storybook/types: 7.0.0-alpha.44 => 7.0.0-alpha.44
    @storybook/web-components: ^7.0.0-rc.8 => 7.0.0-rc.8
    @storybook/web-components-vite: ^7.0.0-rc.8 => 7.0.0-rc.8
### Additional context

_No response_
swvgeqrz

swvgeqrz1#

遇到类似的问题,在6.5和升级到7之后都有。在我的情况下,有一些类型是string | optional,在react-docgen-typescript移除optional后,只剩下string,但我得到的是一个单选按钮选择器而不是文本输入框。

相关问题