File size: 569 Bytes
89ce340 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<template>
<Button
:checked="!disabled && _value === value"
:disabled="disabled"
type="radio"
@click="!disabled && updateValue(value)"
>
<slot></slot>
</Button>
</template>
<script lang="ts" setup>
import { inject } from 'vue'
import { injectKeyRadioGroupValue, type RadioGroupValue } from '@/types/injectKey'
import Button from './Button.vue'
const { value: _value, updateValue } = inject(injectKeyRadioGroupValue) as RadioGroupValue
withDefaults(defineProps<{
value: string
disabled?: boolean
}>(), {
disabled: false,
})
</script> |