storybook **功能请求** :允许在代码面板中以原始源代码形式进行配置,

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

允许配置在代码面板中显示原始源代码的方式

我目前正在使用storybook进行一个项目,它添加了Code面板和Controls面板。这是我在mdx文件中的内容:

export const Template = ({dark, width, height, theme}) => {
  return html`
    <my-button
      @click=${action('button clicked')}
      width="${width}"
      height="${height}"
      theme="${theme}"
      ?dark=${dark}>
    </my-button>
  `;
};

这是用户在Control面板中将dark设置为true时的Code面板:
<my-button width="200" height="40" theme="dark" dark=""> </my-button>

dark是一个布尔值,用户可以在Control面板中设置。

我们支持在Code面板中为每个组件显示原始源代码。html元素的属性值将根据组件的不同配置而改变。但是我们发现覆盖代码面板中的源代码有一些限制。
我们现在的情况是:

  • 暗黑模式开启: <my-button dark=""></my-button>
  • 暗黑模式关闭: <my-button ></my-button>

我们希望更新所有的组件到以下内容:

  • 暗黑模式开启: <my-button dark></my-button>
  • 暗黑模式关闭: <my-button ></my-button>

设置dark而不带值可以按预期工作,但移除=""是无法实现的。我们可以定义要显示的输入类型,但我们无法控制这个特定的playground选项卡如何显示它们,而且似乎没有无值属性的类型选项。无论我们将什么值传递给属性,它都会被解析为=""

描述你希望实现的解决方案

我们需要将所有的组件更新为以下内容:

  • 暗黑模式开启: <my-button dark></my-button>
  • 暗黑模式关闭: <my-button ></my-button>

描述你考虑过的替代方案

  • 无响应*

你是否能够协助将该功能变为现实?

1rhkuytd

1rhkuytd1#

这是一个web组件项目吗?如果是,那么这可能是web组件源代码片段生成中的一个bug,因为<my-button dark></my-button>应该是默认的行为。

h7wcgrx3

h7wcgrx32#

是的,这是一个Web组件项目。你能给我更多信息吗?

lrl1mhuk

lrl1mhuk3#

我不太确定你的问题是什么,但是如果你在使用storybook web-components时遇到了未定义的参数,你可以在代码片段中使用默认值来避免这种情况。例如,如果你有一个名为myFunction的函数,它接受一个名为arg的参数,但你不知道这个参数是否会被传递给它,那么你可以在代码片段中使用默认值:

myFunction(arg = 'default value');

相关问题