事件

在你的 Storybook 故事中添加事件。

在 Github 上查看

Storybook Addon Events

这个 storybook (源代码) 插件允许你为你的故事添加事件。

框架支持

Storybook Addon Events 实时演示

入门

npm i --save-dev @storybook/addon-events event-emitter

.storybook/main.js

module.exports = {
  addons: ['@storybook/addon-events']
}

然后像这样编写你的故事

import withEvents from '@storybook/addon-events';
import EventEmitter from 'event-emitter';

import Logger from './Logger';
import * as EVENTS from './events';

const emitter = new EventEmitter();
const emit = emitter.emit.bind(emitter);

export default {
  title: 'withEvents',
  decorators: [
    withEvents({
      emit,
      events: [
        {
          name: EVENTS.TEST_EVENT_1,
          title: 'Test event 1',
          payload: 0,
        },
        {
          name: EVENTS.TEST_EVENT_2,
          title: 'Test event 2',
          payload: 'asdasdad asdasdasd',
        },
        {
          name: EVENTS.TEST_EVENT_3,
          title: 'Test event 3',
          payload: {
            string: 'value',
            number: 123,
            array: [1, 2, 3],
            object: {
              string: 'value',
              number: 123,
              array: [1, 2, 3],
            },
          },
        },
        {
          name: EVENTS.TEST_EVENT_4,
          title: 'Test event 4',
          payload: [
            {
              string: 'value',
              number: 123,
              array: [1, 2, 3],
            },
            {
              string: 'value',
              number: 123,
              array: [1, 2, 3],
            },
            {
              string: 'value',
              number: 123,
              array: [1, 2, 3],
            },
          ],
        },
      ]
    }),
  ],
}

export const defaultView = () => (
  <Logger emitter={emitter} />
);
由以下人员制作
  • igor-dv
    igor-dv
  • tmeasday
    tmeasday
  • hypnosphi
    hypnosphi
  • ndelangen
    ndelangen
  • shilman
    shilman
与以下框架一起使用
    Angular
    Ember
    HTML
    Marko
    Mithril
    Preact
    Rax
    React
    Vue
    Web Components
标签