# storybook-使用入门
创建时间:2019-12-09
# 插件
# 1. @storybook/addon-knobs
可以利用控件来更新 storybook 的值
- 安装
yarn add @storybook/addon-knobs --dev
npm install @storybook/addon-knobs --save-dev
1
2
2
- 添加注册文件
在
.storybook/addons.js
文件(没有就新建),引入注册文件
import '@storybook/addon-knobs/register'
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
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