Multi Autocomplete
multiautocomplete renderiza um autocomplete local de seleção múltipla. A pessoa pode escolher várias opções e cada seleção aparece como um chip removível.
{
name: 'roles',
label: 'Funções do espaço de trabalho',
type: 'multiautocomplete',
options: [
{label: 'Vendas', value: 'sales'},
{label: 'Finanças', value: 'finance'},
],
}
Valor e opções locais
Seu valor é um array de string | number | boolean. O DYONA Form preserva estritamente o tipo de cada valor de opção e rejeita valores que não existam em options.
No momento, multiautocomplete suporta apenas options locais. O modo remoto com optionsSource ainda não é suportado.
{roles: ['sales', 'finance']}
Defaults e initial values
Use defaultValue para um array de valores de opções locais. Você também pode fornecer o mesmo array em initialValues; cada valor deve existir em options.
{
name: 'roles',
label: 'Funções do espaço de trabalho',
type: 'multiautocomplete',
options: [
{label: 'Vendas', value: 'sales'},
{label: 'Finanças', value: 'finance'},
],
defaultValue: ['sales'],
}
<DyonaForm
schema={schema}
initialValues={{roles: ['sales', 'finance']}}
/>
Chips visíveis
maxVisibleChips?: number limita quantos chips selecionados são mostrados antes do resumo. Seu padrão é 4 e ele deve ser um inteiro maior que 0. Quando há mais seleções, o chip +N abre um diálogo com todas as seleções atuais. No diálogo, é possível buscar as opções selecionadas e remover seleções.
{
name: 'roles',
label: 'Funções do espaço de trabalho',
type: 'multiautocomplete',
maxVisibleChips: 4,
options: [
{label: 'Vendas', value: 'sales'},
{label: 'Finanças', value: 'finance'},
],
}
Required, estado e ajuda
Use required: true para exigir pelo menos uma opção. readOnly: true permite abrir o diálogo de seleção para consultar e buscar as seleções atuais, mas não removê-las. disabled: true impede a interação e não abre o diálogo. Use helperText para descrever a seleção.
{
name: 'approvedModules',
label: 'Módulos aprovados',
type: 'multiautocomplete',
readOnly: true,
helperText: 'Estas permissões são aprovadas centralmente.',
options: [
{label: 'Análises', value: 'analytics'},
{label: 'Exportações', value: 'exports'},
],
}
Condições e grid
Fields Multi Autocomplete usam as condições declarativas e o grid responsivo compartilhados.
{
name: 'advancedModules',
label: 'Módulos avançados',
type: 'multiautocomplete',
options: [{label: 'Registro de auditoria', value: 'audit-log'}],
visibleWhen: {field: 'advancedAccess', operator: 'equals', value: true},
grid: {xs: 12, md: 6},
}
Consulte Fields para o contrato compartilhado de fields.