fbredius/storybook

View on GitHub
docs/snippets/vue/list-story-template.2.js.mdx

Summary

Maintainability
Test Coverage
```js
// List.stories.js

import List from './List.vue';
import ListItem from './ListItem.vue';

//👇 Imports a specific story from ListItem stories
import { Unchecked } from './ListItem.stories';

export default {
  /* 👇 The title prop is optional.
  * See https://storybook.js.org/docs/vue/configure/overview#configure-story-loading
  * to learn how to generate automatic titles
  */
  title: 'List',
  component: List,
};

const ListTemplate = (args, { argTypes }) => ({
  props: Object.keys(argTypes),
  components: { List, ListItem },
  template: `
    <List v-bind="$props">
      <div v-for="item in items" :key="item.title">
        <ListItem :item="item" />
      </div>
    </List>
  `,
});

export const Empty = ListTemplate.bind({});
EmptyListTemplate.args = {
  items: [],
};

export const OneItem = ListTemplate.bind({});
OneItem.args = {
  items: [
    {
      ...Unchecked.args,
    },
  ],
};
```