jsTree: Bouw Interactieve Boomstructuren met jQuery
Maak, beheer en visualiseer hiërarchische data met deze krachtige boomplugin.
Wat is de jsTree API?
jsTree transformeert complexe JSON-data naar interactieve, hiërarchische boomstructuren en biedt ontwikkelaars een krachtige manier om geneste JSON-objecten te visualiseren en te navigeren. Gebouwd als jQuery-plugin zet het ruwe JSON om in uitklapbare/samenklapbare knooppunten - perfect voor het inspecteren van API-responses, configuratiebestanden of elk hiërarchisch dataset.
Belangrijke functies voor JSON-visualisatie:
- JSON-naar-Boom Conversie: Render automatisch JSON-arrays/objecten als ouder/kind knooppunten
- Interactieve Verkenning: Vouw knooppunten uit/klap in om diep in JSON-structuren te duiken
- Dynamisch Laden: Laad grote JSON-datasets lazy voor optimale prestaties
- Aangepaste Knoopweergave: Stijl knooppunten op basis van JSON-datatypes (arrays, objecten, waarden)
- Zoeken & Filteren: Snel sleutels/waarden vinden in complexe JSON-bomen
In tegenstelling tot platte JSON-viewers behoudt jsTree de hiërarchie en relaties in je data, wat het ideaal maakt voor API-debugging of het documenteren van geneste JSON-schema's.
Waarom jsTree kiezen?
- Bewezen oplossing: 10+ jaar actieve ontwikkeling
- Lichtgewicht: Vereist alleen jQuery als afhankelijkheid
- Toegankelijk: Voldoet aan WCAG 2.0
- Uitgebreide documentatie: Volledige API-referentie
- MIT-licentie: Gratis voor commercieel gebruik
Installatie
jsTree kan worden geïnstalleerd via pakketbeheerders of direct vanaf CDN worden ingeladen.
NPM Installatie
npm install jstree
Let op: Vergeet niet jQuery in te laden vóór jsTree.
Codevoorbeelden
Ontdek de mogelijkheden van jsTree met deze voorbeelden:
Voorbeeld 1: Basisboom vanuit HTML
De eenvoudigste manier om een jsTree te maken is door geneste HTML-lijsten te converteren. Deze aanpak is ideaal wanneer je boomstructuur statisch is of wanneer je prototypet. De plugin zet automatisch de geneste UL/LI-structuur om in een interactieve boom met uitklapfunctionaliteit. De basisimplementatie vereist minimale JavaScript en werkt goed voor simpele navigatiemenu's of inhoudsstructuren.
Gedemonstreerde functies:
- HTML-naar-boom conversie
- Uitklapfunctionaliteit
- Basis thema
Voorbeeld 2: Data Laden via JSON
Voor dynamische applicaties kan jsTree data uit JSON laden. Deze aanpak is flexibeler en laat je de boomstructuur programmatisch opbouwen. Het JSON-formaat is eenvoudig, waarbij elk knooppunt eigenschappen heeft zoals "id", "text", "children", en "state". Je kunt ook iconen, uitgeschakelde statussen en andere attributen per knooppunt specificeren. Deze methode is vooral handig wanneer je boomdata uit een database of API komt.
Voorbeeld 3: Selectievakjes en Slepen-en-Neerlaten
jsTree biedt plugins die de kernfunctionaliteit uitbreiden. De checkbox-plugin voegt selecteerbare vakjes toe aan elk knooppunt, terwijl de dnd-plugin slepen-en-neerlaten mogelijk maakt. Deze functies zijn essentieel voor het bouwen van interfaces zoals bestandsbeheerders of permissiesystemen waar gebruikers meerdere items moeten selecteren of de hiërarchie moeten herorganiseren. De plugins behouden de prestaties van de boom zelfs met honderden knooppunten.
Geavanceerde Functies
jsTree ondersteunt professionele workflows:
- Lazy loading: Laad knooppunten op aanvraag:
Lazy Loading
$('#tree').jstree({ 'core': { 'data': { 'url': '/nodes/', 'data': function (node) { return { 'id': node.id }; } } } });
- Gebeurtenisafhandeling: Reageer op boominteracties:
Gebeurtenisluisteraars
$('#tree').on('changed.jstree', function (e, data) { console.log('Geselecteerde knooppunten:', data.selected); });
- Aangepaste thema's: Stijl je boom:
Aangepast Thema
$('#tree').jstree({ 'themes': { 'name': 'custom', 'dots': false, 'icons': false } });
Conclusie
jsTree biedt een robuuste oplossing voor hiërarchische datavisualisatie. Ideaal voor:
- Bestandsbrowsers: Navigeer door directorystructuren
- Navigatiemenu's: Maak multilevel menu's
- CMS-interfaces: Beheer inhoudshiërarchieën
- Configuratietools: Bewerk geneste instellingen
Met zijn uitgebreide pluginsysteem en actief onderhoud blijft jsTree de go-to oplossing voor boomstructuren in webapplicaties.