Storybook: Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ€ΡƒΡ‡ΠΊΠΈ для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² vue Π² 6.0?

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 25 нояб. 2020  Β·  1ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: storybookjs/storybook

ΠŸΡ€ΠΈΠ²Π΅Ρ‚. Π― ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ Π΄ΠΎΠ³Π°Π΄Ρ‹Π²Π°ΡŽΡΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€ΡƒΡ‡ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ нашСл ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π² сСти.

Π’ΠΎΡ‚ ΠΌΠΎΠΉ ΠΊΠΎΠ΄:

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 ΠΈΠ»ΠΈ Π·Π° Π»ΡŽΠ±Ρ‹Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ руководства.

PN controls vue question / support

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

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

>ВсС замСчания

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

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ