【发布时间】:2021-07-13 19:38:22
【问题描述】:
我正在尝试在 div 中创建一个带有按钮的组件,我遇到了问题,因为样式不适用于按钮,我想我不应该在这里使用 slot。有人可以指导我吗?
组件
<template>
<div :class="[$style.btnGroup]" v-bind="$attrs">
<slot :class="$style[variant]">/>
</div>
</template>
我如何使用它
<ButtonGroup variant="warning">
<button>Test</button>
<button>Test</button>
<button>Test</button>
</ButtonGroup>
我使用 css 模块
<style module>
.btnGroup button {
position: relative;
border: none;
font-weight: 400;
border-radius: 0.25rem;
cursor: pointer;
font-size: 1rem;
padding: 0.5rem 1rem;
transition: 0.1s;
}
.primary{
background: var(--primary-bg);
border: 1px solid var(--primary-bg);
color: white;
}
.warning {
background: var(--warning-bg);
border: 1px solid var(--warning-bg);
font-size: 1rem;
padding: 0.5rem 1rem;
transition: 0.1s;
color: black;
}
等等。对于每个变体,我都有不同的风格。
【问题讨论】:
标签: vue.js vuejs2 vue-component vuejs3