DynamicInputList
Permite que o usuário adicione, remova e edite múltiplos inputs em uma lista dinâmica.
Quando usar:
- Quando o usuário precisar inserir uma quantidade variável de informações do mesmo tipo;
- Para formulários que exigem múltiplas entradas do mesmo tipo (ex: números de telefone, emails adicionais, etc).
Quando não usar:
- A quantidade de campos for fixa e conhecida previamente;
- Quando for necessário coletar informações de diferentes tipos. Neste caso, utilize campos individuais;
- A complexidade da lista é alta, contendo vários inputs, e requer uma solução mais específica.
Observações:
⚠️ Importante: Certifique-se de que o modelValue seja passado como um array de objetos contendo id e value. O id é gerado automaticamente para cada novo item.
Uso
js
<CdsDynamicInputList
label="Nova opção"
buttonLabel="Adicionar"
/>
Preview
Props
Nome | Tipo | Default | Opções | Descrição |
---|---|---|---|---|
label | string | 'Adicione opções' | -- | Label do DynamicInputList. |
inputLabel | string | 'Nova opção' | -- | Label usada em cada um dos inputs adicionados ao DynamicInputList. |
buttonText | string | 'Adicionar' | -- | Texto do botão de adição de inputs. |
buttonVariant | string | 'dark' | green teal blue indigo violet pink red orange amber dark | A variante de cor. São 10 variantes: |
tooltip | string | null | -- | Define exibição e texto do tooltip do DynamicInputList. |
tooltipIcon | string | 'info-outline' | -- | Especifica ícone do tooltip do DynamicInputList. |
supportLink | string | null | -- | Controla a exibição e o conteúdo do link de suporte exibido ao lado da label. |
supportLinkUrl | string|null | null | -- | Define a url a ser acessada no clique do link de suporte. |
disabled | boolean | false | -- | Define estado de desabilitação do componente. |
incrementResolver | func | () => ({ label: '', value: generateKey(), }) | -- | Define método para geração de novos itens. Deve retornar um objeto com `label` e `value`. Sobrescreve o método padrão de geração de novos itens. |
disableEdit | boolean | false | -- | Define se o usuário pode preencher manualmente o conteúdo. Utilize-o apenas quando o conteúdo dos inputs forem gerados programaticamente, via incrementResolver. |