Files
element-plus/packages/components/button/src/button-group.vue
Den Moshkin e3eff3725f feat(components): [button-group]: add direction prop (#18906)
* feat(components): [button-group]:add vertical direction for button group

* feat(components): [button-group]: add direction prop (update)

* feat(components): [button-group]: fix docs

* feat(components): [button-group]: update version

* Update docs/en-US/component/button.md

Co-authored-by: btea <2356281422@qq.com>

* Update docs/en-US/component/button.md

* chore: format

* docs: improve sentence

* docs: improve display example

* refactor: enhance prop type

- fit with segmented direction prop
- enhance type according with
https://github.com/element-plus/element-plus/pull/22757

---------

Co-authored-by: btea <2356281422@qq.com>
Co-authored-by: Dsaquel <291874700n@gmail.com>
2025-11-23 09:07:43 +08:00

26 lines
588 B
Vue

<template>
<div :class="[ns.b('group'), ns.bm('group', props.direction)]">
<slot />
</div>
</template>
<script lang="ts" setup>
import { provide, reactive, toRef } from 'vue'
import { useNamespace } from '@element-plus/hooks'
import { buttonGroupProps } from './button-group'
import { buttonGroupContextKey } from './constants'
defineOptions({
name: 'ElButtonGroup',
})
const props = defineProps(buttonGroupProps)
provide(
buttonGroupContextKey,
reactive({
size: toRef(props, 'size'),
type: toRef(props, 'type'),
})
)
const ns = useNamespace('button')
</script>