Skip to content

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

Mostrar log

Props

Nome
Tipo
Default
Opções
Descrição
labelstring'Adicione opções' -- Label do DynamicInputList.
inputLabelstring'Nova opção' -- Label usada em cada um dos inputs adicionados ao DynamicInputList.
buttonTextstring'Adicionar' -- Texto do botão de adição de inputs.
buttonVariantstring'dark'green
teal
blue
indigo
violet
pink
red
orange
amber
dark
A variante de cor. São 10 variantes:
tooltipstringnull -- Define exibição e texto do tooltip do DynamicInputList.
tooltipIconstring'info-outline' -- Especifica ícone do tooltip do DynamicInputList.
supportLinkstringnull -- Controla a exibição e o conteúdo do link de suporte exibido ao lado da label.
supportLinkUrlstring|nullnull -- Define a url a ser acessada no clique do link de suporte.
disabledbooleanfalse -- Define estado de desabilitação do componente.
incrementResolverfunc() => ({ 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.
disableEditbooleanfalse -- 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.

Última atualização:

Released under the Apache-2.0 License.