CANVAS2D · FRAMEWORK AGNOSTIC
A tree view built for living data.
Explore large hierarchies, inspect nested models and edit values in a compact canvas interface. Start with a complete DOM view or bring your own host.
Use the filter bar on 2,400 rows, expand a branch or sort a column. Values update in place.
INTERACTIVE DOCUMENTATION
The component is the demo.
These are live instances of virtual-tree-canvas. Change values, move rows and explore the hierarchy here.
Edit the object itself.
Filter properties, expand arrays and use the native editors created from model metadata.
Units stay with the value.
Filter properties in the first column header, then edit a numeric field. Display precision does not change the stored value.
Move rows in place.
Drag a row handle or use Alt + ↑/↓ while values keep updating.
Markets that actually move.
Streaming cryptocurrency prices, approximately 15 seconds delayed. Sort the columns or pause the stream; the table updates without rebuilding its rows.
Move whole branches.
Hold Shift and drag to select a range. Then drag a selected row into either tree.
Projects
Archive
Select rows, then drag them within or between trees.
START BUILDING
A tree in a few lines.
Install the package, give the host a height and pass in rows. The view creates the canvas and manages rendering.
Read the full guide// npm install virtual-tree-canvas
import { TreeView } from 'virtual-tree-canvas';
const view = new TreeView(host, {
initialExpandDepth: 2
});
view.setData([
{ id: 'fleet', label: 'Fleet' },
{ id: 'radar', parentId: 'fleet', label: 'Radar' }
]);