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

# TableEmpty

## Overview

An empty-state row for a grid table, spanning columns with centered content.

The `variant` prop drives `data-variant` on the content wrapper so that
descendants marked `data-slot="icon"` pick up variant-specific treatment:
`loading` spins the icon, `error` recolors it to `--destructive`, and
`empty` / `filtered` keep the muted default. The slot content
(icon, title, description, actions) is consumer-provided.

Theme entry: [TableEmpty](/v3/reference/theming/keys/TableEmpty.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-colspan">colspan</span> | `number` |  | `1` | The number of columns the empty cell spans. |
| <span id="prop-variant">variant</span> | `string` |  | `"empty"` | Empty-state variant: `empty` (default), `loading`, `error`, or `filtered`. |

## Slots

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

Slot.

## Source

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