LxInputRadioGroup
Visão geral
O componente LxInputRadioGroup é utilizado para exibir um grupo de botões de rádio com diversas opções de personalização, incluindo rótulo do grupo, opções de rádio e suporte a slots para customização do conteúdo.
Clique para visualizar o código
vue
<script setup>
import { ref } from 'vue';
import { LxInputRadioGroup } from '@lde/lxcomponents';
const value = ref([]);
const options = [
{ id: 'opt1', label: 'Primeira opção', value: 'a' },
{ id: 'opt2', label: 'Segunda opção', value: 'b' },
{ id: 'opt3', label: 'Terceira opção', value: 'c' }
];
</script>
<template>
<LxInputRadioGroup id="input-radio-group-example" v-model="value" :options="options" group-name="input-radio-group-example" />
</template>Propriedades
| Nome | Descrição | Tipo | Padrão |
|---|---|---|---|
| id | Identificador único do grupo de rádio. | String | required |
| modelValue | Valor selecionado do grupo de rádio. Nota: Utilizar a implementação padrão com o v-model. | String ou Number | required |
| groupName | Nome do grupo de rádio, utilizado para agrupar os botões de rádio. | String | '' |
| groupLabel | Rótulo do grupo de rádio. | String | '' |
| options | Lista de opções para os botões de rádio. Cada opção deve conter id, label e value. | Array | [] |
| isInvalid | Indica se o grupo de rádio está em estado inválido. | Boolean | false |
| disabled | Indica se o grupo de rádio está desabilitado. | Boolean | false |
Eventos
| Nome | Descrição |
|---|---|
| update:modelValue | Emitido quando o valor do grupo de rádio é atualizado. Nota: Utilizar a implementação padrão com o v-model. |
Slots
| Nome | Descrição |
|---|---|
| radio-options | Conteúdo personalizado para as opções de rádio. |
Utilizando o Slot radio-options
Você pode utilizar o slot radio-options para chamar os LxInputRadioItem individualmente, caso deseje personalizar as opções de rádio. Veja um exemplo de como fazer isso:
Clique para visualizar o código
vue
<template>
<LxInputRadioGroup
id="custom-radio-group"
v-model="selectedValue"
groupLabel="Exemplo de Grupo de Rádio"
>
<template #radio-options>
<LxInputRadioItem
id="opt1"
label="Primeira opção"
v-model="selectedValue"
value="a"
groupName="custom-radio-group"
/>
<LxInputRadioItem
id="opt2"
label="Segunda opção"
v-model="selectedValue"
value="b"
groupName="custom-radio-group"
/>
<LxInputRadioItem
id="opt3"
label="Terceira opção"
v-model="selectedValue"
value="c"
groupName="custom-radio-group"
/>
</template>
</LxInputRadioGroup>
</template>
<script setup>
import { ref } from 'vue';
import { LxInputRadioGroup, LxInputRadioItem } from '@lde/lxcomponents';
const selectedValue = ref('');
</script>Classes Padrão
O componente LxInputRadioGroup utiliza uma série de classes CSS padrão que podem ser personalizadas. Essas classes permitem que você estilize qualquer parte do campo de entrada usando :deep com a classe desejada.
| Nome | Descrição |
|---|---|
| lx-radio-group-wrapper | Container principal |
| lx-radio-group-options-wrapper | Container do grupo de radios |
LxComponents