fbredius/storybook

View on GitHub
docs/snippets/vue/table-story-fully-customize-controls.2.js.mdx

Summary

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

import Table from './Table.vue';

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: 'Custom Table',
  component: Table,
};

const TableStory = (args, { argTypes }) => ({
  components: { Table },
  props: Object.keys(argTypes),
  template: `
    <Table v-bind="$props">
      <tr v-for="(row, idx1) in data">
        <td v-for="(col, idx2) in row">
          {{ data[idx1][idx2] }}
        </td>
      </tr>
    </Table>`,
});

export const Numeric = TableStory.bind({});
Numeric.args = {
  //👇 This arg is for the story component
  data: [
    [1, 2, 3],
    [4, 5, 6],
  ],
  //👇 The remaining args get passed to the `Table` component
  size: 'large',
};
```