ΠΡΠΈΠ²Π΅Ρ. Π― ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ Π΄ΠΎΠ³Π°Π΄ΡΠ²Π°ΡΡΡ, ΡΡΠΎΠ±Ρ ΡΡΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΎ. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ Π½Π°ΡΠ΅Π» ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π² ΡΠ΅ΡΠΈ.
ΠΠΎΡ ΠΌΠΎΠΉ ΠΊΠΎΠ΄:
import ElBtn from '../components/elements/buttons/el-btn.vue';
export default {
title: 'El-Btn',
component: ElBtn,
decorators: [() => `<section class="container"><story /></section>`],
argTypes: {
type: { control: { type: 'select', options: ['secondary', 'primary'] } },
round: { control: { type: 'boolean', default: false } },
},
};
export const primary = () => ({
components: { ElBtn },
template: `<el-btn>Text</el-btn>`,
});
export const secondary = () => ({
props: {
type: { control: { type: 'select', options: ['secondary', 'primary'] } },
},
render() {
return <ElBtn type="this.type">Test</ElBtn>;
},
});
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΡΠ΅ΡΠ΅Π· Vue CLI 4.5.0 (vue add storybook).
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²:
"@storybook/addon-essentials": "^6.0.26",
"@storybook/addon-links": "^6.0.26",
"@storybook/vue": "^6.0.26",
ΠΠ±Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π² ΠΎΠ±Π΅ΠΈΡ ΠΈΡΡΠΎΡΠΈΡΡ , Π½ΠΎ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°.
Π’Π°ΠΊΠΆΠ΅ Π±ΡΠ»ΠΈ Π±Ρ ΠΏΡΠΈΠ·Π½Π°ΡΠ΅Π»ΡΠ½Ρ Π·Π° Π»ΡΠ±ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΠ· ΡΠ±ΠΎΡΠ½ΠΈΠΊΠ° ΡΠ°ΡΡΠΊΠ°Π·ΠΎΠ² 6.0 Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Ρ vue ΠΈΠ»ΠΈ Π·Π° Π»ΡΠ±ΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°.
export const primary = (args, { argTypes }) => ({
props: Object.keys(argTypes),
components: { ElBtn },
// v-bind by itself takes every key in the value and v-binds them to a field on this component
// $props is every prop on the `primary` component
template: `<el-btn v-bind="$props">Text</el-btn>`,
});
Π΄Π»Ρ Π²ΡΠΎΡΠΈΡΠ½ΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΡΠΎΠΌΡ ΠΌΠ°ΠΊΠ΅ΡΡ ΠΈ Π΄Π»Ρ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠ°.
ΡΠΌΠΎΡΡΠΈΡΠ΅ Π·Π΄Π΅ΡΡ, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅
https://storybook.js.org/docs/vue/writing-stories/args#story -args
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Π΄Π»Ρ Π²ΡΠΎΡΠΈΡΠ½ΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΡΠΎΠΌΡ ΠΌΠ°ΠΊΠ΅ΡΡ ΠΈ Π΄Π»Ρ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠ°.
ΡΠΌΠΎΡΡΠΈΡΠ΅ Π·Π΄Π΅ΡΡ, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅
https://storybook.js.org/docs/vue/writing-stories/args#story -args