Skip to content

Tabela base

AlpopBaseTable é a primitiva de tabela: cabeçalho, corpo e rodapé, larguras de coluna, rolagem com cabeçalho fixo opcional (body-max-rows) e slots de célula, estado vazio e rodapé. É puramente visual e desacoplada de i18n: todos os textos vêm por prop ou slot. A Tabela de dados compõe esta primitiva com paginação e formatação.

NomeCidade
MariaRecife
JoãoOlinda

Com cabeçalho

Ao receber title, icon ou description, a tabela é renderizada dentro de um Cartão — o cabeçalho é literalmente o do cartão, com o mesmo quadrado de ícone. Sem nenhuma dessas props ela permanece a primitiva sem cabeçalho.

Contratos

Todos os contratos ativos.

NomeCidade
MariaRecife
JoãoOlinda

Props

PropTipoPadrãoDescrição
titleStringnullTítulo do cabeçalho; renderiza a tabela dentro de um AlpopCard
iconStringnullÍcone do cabeçalho (quadrado de ícone do cartão)
descriptionStringnullLinha secundária abaixo do título
columnsArray[]Colunas: string ou { label, text, value }label é o campo da linha, text o cabeçalho, value (chave ou função) sobrescreve a extração
rowsArray[]Linhas de dados
columnWidthsArray[]Larguras CSS por coluna (por índice)
rowKeyFunction(_, index) => indexChave :key de cada linha
formatCellFunctionnull(row, column) => texto para formatar a célula
minWidthString"100%"Largura mínima da tabela
fixedLayoutBooleanfalseUsa table-layout: fixed
bodyMaxRowsNumber0Limita a altura do corpo a N linhas com rolagem e header fixo
bodyMinHeightString""Altura mínima do corpo (CSS)
bodyMinHeightMobileString""Altura mínima do corpo em telas ≤ 800px
footerTextString""Texto do rodapé (exibe ícone + texto)
footerIconString"info"Ícone do rodapé
loadingBooleanfalseEnquanto true, o slot empty não é exibido

Slots

SlotPropsDescrição
header-actionsAções à direita do cabeçalho (só com title/icon/description)
header-cell{ column, index }Conteúdo customizado do cabeçalho da coluna
cell{ row, column, index }Conteúdo customizado da célula
emptyExibido quando não há linhas e não está loading
footerRodapé customizado (quando não há footer-text)