---
url: "https://vueda.dev/v3/reference/api/vue/Table.md"
title: "Table"
---

# Table

## Overview

A table wrapper component providing a framed, scrollable container and styled table element.

The frame sits outside the scroll container, so rows and sticky header cells scroll inside
it and never paint over its edge.

Supports a sticky-header mode (`sticky` prop) that pins `thead` cells to the
top of the scroll container, and a three-tier density mode (`density` prop:
`default` | `compact` | `condensed`) that drives `data-density` on the
`<table>` element so descendant `TableHead` and `TableCell` primitives pick
up the matching row heights.

Theme entry: [Table](/v3/reference/theming/keys/Table.md)

## Props

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| <span id="prop-themeOverride">themeOverride</span> | `Object` |  | `null` | A partial ThemeObject keyed by component name, merged over this component's theme and provided to descendants. |
| <span id="prop-class">class</span> | `import('vue').HTMLAttributes['class']` |  | `undefined` | Additional CSS classes to apply to the root element. |
| <span id="prop-sticky">sticky</span> | `boolean` |  | `false` | When true, the container becomes a vertically scrollable region with a sticky `thead`. |
| <span id="prop-density">density</span> | `string` |  | `undefined` | Row-height tier applied via `data-density` on the table element. |

## Slots

### `default` {#slot-default}

Slot.

## Source

`client/lib/grid/table/Table.vue`
