diff --git a/src/runtime/components/forms/RadioGroup.vue b/src/runtime/components/forms/RadioGroup.vue index 1b44d86778..f56f029201 100644 --- a/src/runtime/components/forms/RadioGroup.vue +++ b/src/runtime/components/forms/RadioGroup.vue @@ -99,7 +99,7 @@ export default defineComponent({ const { ui, attrs } = useUI('radioGroup', toRef(props, 'ui'), config, toRef(props, 'class')) const { ui: uiRadio } = useUI('radio', toRef(props, 'uiRadio'), configRadio) - const { emitFormChange, color, name } = useFormGroup(props, config) + const { emitFormChange, color, name } = useFormGroup({ ...props, isFieldset: true }, config) provide('radio-group', { color, name }) const onUpdate = (value: any) => { diff --git a/src/runtime/composables/useFormGroup.ts b/src/runtime/composables/useFormGroup.ts index 9a93fe9572..d8854110c3 100644 --- a/src/runtime/composables/useFormGroup.ts +++ b/src/runtime/composables/useFormGroup.ts @@ -3,10 +3,11 @@ import { type UseEventBusReturn, useDebounceFn } from '@vueuse/core' import type { FormEvent, FormEventType, InjectedFormGroupValue } from '../types/form' type InputProps = { - id?: string + id?: string | null size?: string | number | symbol color?: string name?: string + isFieldset?: boolean } export const useFormGroup = (inputProps?: InputProps, config?: any) => { @@ -17,7 +18,7 @@ export const useFormGroup = (inputProps?: InputProps, config?: any) => { const inputId = ref(inputProps?.id) onMounted(() => { - inputId.value = inputProps?.id ?? formGroup?.inputId.value + inputId.value = inputProps?.isFieldset ? null : inputProps?.id ?? formGroup?.inputId.value if (formGroup) { // Updates for="..." attribute on label if inputProps.id is provided formGroup.inputId.value = inputId.value