NuGrid is a feature-rich data grid component built for Nuxt applications. It combines the power of TanStack Table with Nuxt UI components to provide a seamless, highly customizable grid experience.
High Performance
Built-in virtualization for smooth rendering of thousands of rows with minimal memory footprint.
Cell Editing
Inline cell editing with support for various data types, validation, and custom editors.
Row Grouping
Group data by one or more columns with expandable groups and aggregate functions.
Keyboard Navigation
Full keyboard support including Excel-like navigation, editing triggers, and shortcuts.
Theming
Fully customizable themes with built-in support for Nuxt UI's design system.
TanStack Table
Built on TanStack Table for powerful sorting, filtering, pagination, and column management.
Here's a simple example to get you started:
<script setup lang="ts">
import type { NuGridColumn } from '#nu-grid/types'
interface User {
id: number
name: string
email: string
}
const data = ref<User[]>([
{ id: 1, name: 'Alice', email: 'alice@example.com' },
{ id: 2, name: 'Bob', email: 'bob@example.com' },
{ id: 3, name: 'Carol', email: 'carol@example.com' },
])
const columns: NuGridColumn<User>[] = [
{ accessorKey: 'id', header: 'ID' },
{ accessorKey: 'name', header: 'Name' },
{ accessorKey: 'email', header: 'Email' },
]
</script>
<template>
<NuGrid :data="data" :columns="columns" />
</template>
NuGrid provides everything you need to build powerful data grids: