Skip to content

DataTable

O DataTable é um wrapper da tabela base, que adiciona funcionalidades de usabilidade e personalização para visualização e interação com dados tabulares.



Quando usar:

  • Quando for necessário exibir dados em formato tabular com funcionalidades extras como personalização de colunas, exibição da contagem total de registros e ações complementares (ex: exportações);
  • Quando o contexto exigir uma interface para manipulação e leitura de dados, como painéis administrativos, relatórios dinâmicos ou listas interativas;
  • Quando o desenvolvedor quiser aproveitar a API da tabela base mas com uma estrutura visual e funcional mais completa e pronta para uso.

Quando não usar:

  • Quando a tabela base já atende completamente às necessidades da interface, sem necessidade de contagem de registros, personalização ou ações adicionais;
  • Quando o controle total sobre o layout da tabela for necessário e o uso de slots for inadequado ao contexto visual.

Obs.:

  • O DataTable utiliza internamente o componente table. Isso significa que todas as props aceitas pela tabela original e todos os eventos emitidos por ela também são aceitos e emitidos pelo DataTable, garantindo total compatibilidade com a API da tabela base.

Uso

js
<CdsDataTable
	:fields="fields"
	:items="items"
	:totalItems="100"
/>

Preview


Props

Nome
Tipo
Default
Opções
Descrição
selectionVariantstring'green'green
teal
blue
indigo
violet
pink
red
orange
amber
dark
Variante de cor usada na estilização do componente.
* totalItems (required)number -- Quantidade total de registros encontrados.
customFieldsListarray[] -- Lista de colunas que serão exibidas na tabela personalizada.
customFieldsSearchablebooleanfalse -- Especifica se deve ter pesquisa por colunas na personalização da tabela.
hideCustomizeButtonbooleanfalse -- Especifica se o botão de personalizar tabela deve ser escondido.
presetsOptionsarray[] -- Define as opções de presets que serão exibidas no sidesheet de personalizar tabela. Se nenhum for fornecido, não será exibido.
customFieldsTrackBystring'id' -- Define o campo que será usado como chave na lista de customFieldsList.
loadingCustomFieldsbooleanfalse -- Ativa o feedback de loading no sidesheet de personalizar tabela.
minVisibleFieldsnumber1 -- Especifica a quantidade mínima de colunas que devem ser visíveis na tabela.
maxVisibleFieldsnumber0 -- Especifica a quantidade máxima de colunas que devem ser visíveis na tabela. Se for `0`, não há limite.
withSearchbooleanfalse -- Especifica se a barra de busca da tabela deve ser exibida.
searchPlaceholderstring'Buscar...' -- Especifica o placeholder da barra de busca.
withSearchButtonbooleanfalse -- Especifica se deve ser mostrado botão junto à barra de busca.
loadingbooleanfalse -- Ativa o estado de carregamento do componente, desabilitando as ações superiores e exibindo um Skeleton para a tabela.
emptySrcImgstringnull -- Caminho da imagem que vai ser renderizada quando o estado for empty.
emptyTitlestring'Nenhum registro' -- Título que vai ser renderizado quando o estado for empty.
emptyDescriptionstring'Certifique-se de ajustar os filtros para encontrar resultados.' -- Descrição que vai ser renderizado quando o estado for empty.
searchInputDelaynumber500 -- Tempo de atraso entre a digitação e a emissão do evento de busca (em ms).

Eventos

Nome
Descrição
@update-fields-list
@customize-click
@search
@search-button-click

Slots

Nome
Descrição
#rightSlot para renderização de conteúdo à direita do DataTable header.
#empty
#header-item
#table-item

Última atualização:

Released under the Apache-2.0 License.