# storybook-使用入门

创建时间:2019-12-09

# 插件

# 1. @storybook/addon-knobs

可以利用控件来更新 storybook 的值

  1. 安装
yarn add @storybook/addon-knobs --dev
npm install @storybook/addon-knobs --save-dev
1
2
  1. 添加注册文件 在 .storybook/addons.js 文件(没有就新建),引入注册文件
import '@storybook/addon-knobs/register'
1
  1. x.stories.js 文件中使用
import Vue from 'vue';
import { storiesOf } from '@storybook/vue';
import vButton from './Button.vue';
import { withKnobs, number, object, boolean, text, select, date, array, color } from '@storybook/addon-knobs';
storiesOf('vButton', module)
  .addDecorator(withKnobs)
  .add('default', () => ({
    components: { vButton },
    template: '<v-button>default</v-button>',
  }))
  .add('primary', () => ({
    components: { vButton },
    template: '<v-button type="primary">primary</v-button>',
  }))
  .add('danger', () => ({
    components: { vButton },
    template: '<v-button type="danger">danger</v-button>',
  }))
  .add('diy', () => {
    const btnText = text('btnText', 'DIY Button'); //文字控件
    const bold = boolean('Bold', false); //启用控件
    const selectedBgColor = color('bgColor', '#fff');//颜色选择器
    const selectedColor = color('Color', 'black');
    const fontSize = number('fontSize', 20); //数字
    const customStyle = object('Style', {
      fontFamily: 'Arial',
      padding: "20px",
    });
    const style = {
      ...customStyle,
      fontWeight: bold ? 800 : 400,
      fontSize: fontSize + 'px',
      color: selectedColor,
      backgroundColor: selectedBgColor
    };
    return {
      components: { vButton },
      props: {
        btnText: {
          default: btnText
        },
        style: {
          default: style
        }
      },
      template: '<v-button :style="style">{{btnText}}</v-button>'
    }
  })
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

# 参考

上次更新: 4/24/2020, 5:25:23 PM