gpt4 book ai didi

vuejs2 - Vuetify 主题设置在 Storybook 中不起作用

转载 作者:行者123 更新时间:2023-12-02 09:17:16 25 4
gpt4 key购买 nike

(Vue 版本 - 2、Vuetify 和 Storybook - 最新)

考虑以下简单的按钮组件:

<template>
<v-btn round
color="primary">
<slot></slot>
</v-btn>
</template>

<script>
export default {
name: "test-button",
}
</script>

在App组件文件中,调用方式如下:

  <v-app>
<v-layout column justify-center>
<v-layout row justify-center align-center>
<test-button @click="testBtnClicked">
Click It
</test-button>
</v-layout>
</v-layout>
</v-app>

Vuetify 设置在 main.js 中如下所示:

import Vue from 'vue';
import 'vuetify/dist/vuetify.min.css';
import Vuetify from "vuetify";
import colors from 'vuetify/es5/util/colors';

Vue.use(Vuetify, {
theme: {
primary: colors.indigo.base,
info: colors.blue.lighten2,
accent: colors.green.lighten1,
error: colors.red.darken2
}
});

到目前为止,一切顺利 - 我在框架中间看到了一个漂亮的靛蓝色按钮,这正是我所期望的。

现在,在 Storybook 配置中,我使用与 main.js 中相同的行来设置 Vuetify,我的 Storybook 文件如下所示:

import { storiesOf } from "@storybook/vue";

import TestButton from "./TestButton.vue";

storiesOf("TestButton", module)
.add("button template", () => ({
template: '<test-button :rounded="true">round</test-button>',
components: {TestButton}
}))

这会在 Storybook 中呈现按钮,但主题设置不会发生,即:按钮不是靛蓝色,而是白色。 Vuetify 的其余属性似乎很好 - 它看起来像一个带有白色文本的 Vuetify 圆形按钮。

我不确定这是 Vuetify 问题、Vue 问题还是 Storybook 问题(或者我的用户错误问题)。如果有人这样做过,我会很感激一些见解。

这是我的 webpack.config.js (在 .storybook 中):

module.exports = (baseConfig, env, defaultConfig) => {

defaultConfig.plugins.push(new VueLoaderPlugin());

return defaultConfig;
};

最佳答案

我也有这个问题

读完vuetify的代码,似乎CSS的生成,以及主题的注入(inject)是在位于此处的VApp mixin app-theme中进行的。

所以,我认为问题与故事书无关,而是与 vuetify 有关。

通过使用 v-app 包装我想要测试的组件,就可以了。

所以,现在,请尝试在 config.js 中添加一个装饰器,如下所示:

import { configure, addDecorator } from '@storybook/vue';
import 'vuetify/dist/vuetify.css';

import Vue from 'vue';
import Vuetify from 'vuetify';

Vue.use(Vuetify, {
theme: {
// your colors
},
});

addDecorator(() => ({
template: '<v-app><story/></v-app>',
}));

...

听起来不错吗?

(也在 github 上回答:https://github.com/storybooks/storybook/issues/4256#issuecomment-440065778)

关于vuejs2 - Vuetify 主题设置在 Storybook 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52563713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com