storybook 附加控件枚举数据类型不支持对象值,

6jjcrrmo  于 3个月前  发布在  其他
关注(0)|答案(3)|浏览(125)

描述bug

对于枚举数据类型,选项值对象可以注入到组件属性(在预览中生效),但是控件面板值为“空”,并且对象的多选数组无法注入到预览组件中。

重现方法

重现此行为的方法:
故事如下:

export default {
  title: 'Example/Button',
  component: Button,
  argTypes: {
    backgroundColor: { control: 'color' },
    loadingState: {
      control: {
        type: 'select',
        options: {
          'loading': {
            state: 'loading',
            // some additional data
          },
          'pending': {
            state: 'pending',
           // some additional data
          }
        },
      },
    }
  },
};

选择控制加载状态为“加载”或“待定”,选择不会发生变化。

ma8fv8wu

ma8fv8wu1#

大家好!最近似乎没有太多关于这个问题的进展。如果还有问题、评论或错误,请随时继续讨论。遗憾的是,我们没有时间处理每一个问题。我们始终欢迎贡献,所以如果你想帮忙,请发送一个pull request。30天后未活跃的问题将被关闭。谢谢!

g0czyy6m

g0czyy6m2#

@shilman 我也遇到了这个问题,并研究了一下它的成因,所以我在这里分享我的发现,希望它能帮助你。
看起来你现在是通过检查值是否相等来确定哪个 option 被选中的。
然而,虽然它对原始类型有效,但对对象和数组无效:
看起来可能有两个解决这个问题的方法。你可以:

  • 进行深度相等比较,但性能会受到影响。
  • 检查键是否相等(即分配给 control.options 的对象的键)而不是值相等。
5jdjgkvh

5jdjgkvh3#

感谢分享@vkammerer,这真的很有帮助——我会更仔细地查看!

相关问题