Overriding Cells
Per-Column Cell Override
tsx
<InertiaTable
tableData={servers}
cellRenderers={{
status: ({ row, value }) => (
<MyCustomBadge status={value} color={row._status_enum_color} />
),
name: ({ row, value }) => (
<div className="flex items-center gap-2">
<Avatar name={value} />
<span className="font-medium">{String(value)}</span>
</div>
),
}}
/>vue
<!-- Coming soon -->Each renderer receives:
tsx
interface CellRenderProps {
row: Row; // full row data including hidden columns
value: unknown; // the column's resolved value
column: DynamicColumnDef;
displays: CellDisplay[];
rowIndex: number;
}Per-Column Header Override
tsx
<InertiaTable
tableData={servers}
headerRenderers={{
name: ({ column, sortState, onSort }) => (
<div onClick={() => onSort(column.sort_key)} className="cursor-pointer">
{column.header}
{sortState.active && (sortState.direction === 'asc' ? ' ↑' : ' ↓')}
</div>
),
}}
/>vue
<!-- Coming soon -->Global Cell Override
tsx
<InertiaTable
tableData={servers}
renderCell={({ row, value, column, defaultRender }) => {
if (column.name === 'status') {
return <MyStatusBadge status={value} />;
}
return defaultRender(); // fall back to default pipeline
}}
/>vue
<!-- Coming soon -->Override Priority
cellRenderers.{columnName}- highest, per-columnrenderCell- global override withdefaultRenderescape hatch- Built-in display pipeline - from PHP column configuration