An object defining configuration properties for the TreeView UI component.
Specifies the shortcut key that sets focus on the UI component.
Selector: access-key
Default Value: undefined
The value of this property will be passed to the accesskey
attribute of the HTML element that underlies the UI component.
Specifies whether the UI component changes its visual state as a result of user interaction.
Selector: active-state-enabled
Default Value: false
The UI component switches to the active state when users press down the primary mouse button. When this property is set to true, the CSS rules for the active state apply. You can change these rules to customize the component.
Use this property when you display the component on a platform whose guidelines include the active state change for UI components.
Specifies whether or not to animate item collapsing and expanding.
Selector: animation-enabled
Default Value: true
Specifies a custom collapse icon.
Selector: collapse-icon
Default Value: null
This property accepts one of the following:
The following code snippet shows how to specify custom collapse and expand icons:
jQuery$(function() { $("#treeView").dxTreeView({ // ... collapseIcon: "minus", // icon from the DevExtreme icon library expandIcon: "https://path/to/the/expand_icon.svg", // icon in the SVG format }); });Angular
<dx-tree-view ... collapseIcon="minus" // icon from the DevExtreme icon library expandIcon="https://path/to/the/expand_icon.svg" // icon in the SVG format > </dx-tree-view>
import { Component } from '@angular/core'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { // ... }
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppComponent } from './app.component'; import { DxTreeViewModule } from 'devextreme-angular'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, DxTreeViewModule ], providers: [ ], bootstrap: [AppComponent] }) export class AppModule { }Vue
App.vue (Composition API)
<template> <DxTreeView ... collapseIcon="minus" // icon from the DevExtreme icon library expandIcon="https://path/to/the/expand_icon.svg" // icon in the SVG format /> </template> <script> import 'devextreme/dist/css/dx.light.css'; import DxTreeView from 'devextreme-vue/tree-view'; export default { components: { DxTreeView }, // ... } </script>
<template> <DxTreeView ... collapseIcon="minus" // icon from the DevExtreme icon library expandIcon="https://path/to/the/expand_icon.svg" // icon in the SVG format /> </template> <script setup> import 'devextreme/dist/css/dx.light.css'; import DxTreeView from 'devextreme-vue/tree-view'; // ... </script>React
import React from 'react'; import 'devextreme/dist/css/dx.light.css'; import TreeView from 'devextreme-react/tree-view'; export default function App() { return ( <TreeView ... collapseIcon="minus" // icon from the DevExtreme icon library expandIcon="https://path/to/the/expand_icon.svg" // icon in the SVG format /> ); }See Also
Allows you to load nodes on demand.
Selector: create-children
Function parameters:The node that has been expanded; null for the root node.
A Promise that is resolved with the result from the server or an array of objects to be converted to child nodes.
createChildren is called at the beginning of the UI component's lifetime and each time a user expands a node whose child nodes have not been loaded yet. It allows you to load the entire tree in portions: load root nodes first (when the function's parentNode parameter is null) and the child nodes of each expanded node later.
This function has the following restrictions:
Neither the dataSource, nor the items property should be specified.
The dataStructure property should be set to "plain".
Since the search will be performed on loaded nodes only and thus produce incorrect results, it is not recommended that you enable this functionality.
The following code shows how to use this function with a remote service:
jQuery$(function() { $("#treeViewContainer").dxTreeView({ dataStructure: "plain", rootValue: 0, createChildren: function (parentNode) { var d = $.Deferred(); $.get("http://url/to/the/service", { // Here, 0 is the "rootValue" property's value. parentId: parentNode ? JSON.stringify(parentNode.key) : "0" }) .done(function (result) { d.resolve(result); }); return d.promise(); } }); });Angular
<dx-tree-view [rootValue]="0" dataStructure="plain" [createChildren]="createChildren"> </dx-tree-view>
import { ..., Inject } from "@angular/core"; import { HttpClient, HttpClientModule, HttpParams } from "@angular/common/http"; import { lastValueFrom } from 'rxjs'; import { DxTreeViewModule } from "devextreme-angular"; // ... export class AppComponent { constructor(@Inject(HttpClient) httpClient: HttpClient) { } createChildren = (parentNode) => { let params: HttpParams = new HttpParams() .set("parentId", parentNode ? JSON.stringify(parentNode.key) : "0"); const request$ = this.httpClient.get("http://url/to/the/service", { params: params }); return lastValueFrom(request$); } } @NgModule({ imports: [ // ... DxTreeViewModule, HttpClientModule ], // ... })Vue
<template> <DxTreeView :create-children="createChildren" :root-value="''" data-structure="plain" /> </template> <script> import DxTreeView from 'devextreme-vue/tree-view'; import 'whatwg-fetch'; export default { components: { DxTreeView }, methods: { createChildren: function(parent) { let parentId = parent ? parent.itemData.id : ''; return fetch(`http://url/to/the/service?parentId=${parentId}`) .then(response => response.json()) .catch(() => { throw 'Data Loading Error'; }); } } }; </script>React
import React from 'react'; import TreeView from 'devextreme-react/tree-view'; import 'whatwg-fetch'; const App = () => { return ( <TreeView dataStructure="plain" rootValue="''" createChildren={createChildren} /> ); } const createChildren = (parent) => { let parentId = parent ? parent.itemData.id : ''; return fetch(`http://url/to/the/service?parentId=${parentId}`) .then(response => response.json()) .catch(() => { throw 'Data Loading Error'; }); } export default App;
To reset the TreeView's state after running createChildren, modify or clear items array:
const items = treeViewInstance.option("items"); // Make necessary changes to items treeViewInstance.option("items", items); // or treeViewInstance.option("items", []);See Also
Binds the UI component to data.
Selector: data-source
Default Value: null
The TreeView works with object collections that can have a plain or hierarchical structure. Depending on the structure, the objects should provide different data fields. Specify the dataStructure property to notify the TreeView of the used structure and refer to the property's description for information on the required fields.
Depending on your data source, bind TreeView to data as follows.
Data Array
Assign the array to the dataSource option.
Read-Only Data in JSON Format
Set the dataSource property to the URL of a JSON file or service that returns JSON data.
OData
Implement an ODataStore.
Web API, PHP, MongoDB
Use one of the following extensions to enable the server to process data according to the protocol DevExtreme UI components use:
Then, use the createStore method to configure access to the server on the client as shown below. This method is part of DevExtreme.AspNet.Data.
jQuery$(function() { let serviceUrl = "https://url/to/my/service"; $("#treeViewContainer").dxTreeView({ // ... dataSource: DevExpress.data.AspNet.createStore({ key: "ID", loadUrl: serviceUrl + "/GetAction", insertUrl: serviceUrl + "/InsertAction", updateUrl: serviceUrl + "/UpdateAction", deleteUrl: serviceUrl + "/DeleteAction" }) }) });Angular
import { Component } from '@angular/core'; import CustomStore from 'devextreme/data/custom_store'; import { createStore } from 'devextreme-aspnet-data-nojquery'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { store: CustomStore; constructor() { let serviceUrl = "https://url/to/my/service"; this.store = createStore({ key: "ID", loadUrl: serviceUrl + "/GetAction", insertUrl: serviceUrl + "/InsertAction", updateUrl: serviceUrl + "/UpdateAction", deleteUrl: serviceUrl + "/DeleteAction" }) } }
<dx-tree-view ... [dataSource]="store"> </dx-tree-view>
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppComponent } from './app.component'; import { DxTreeViewModule } from 'devextreme-angular'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, DxTreeViewModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { }Vue
<template> <DxTreeView ... :data-source="store" /> </template> <script> import 'devextreme/dist/css/dx.light.css'; import CustomStore from 'devextreme/data/custom_store'; import { createStore } from 'devextreme-aspnet-data-nojquery'; import { DxTreeView } from 'devextreme-vue/tree-view'; export default { components: { DxTreeView }, data() { const serviceUrl = "https://url/to/my/service"; const store = createStore({ key: "ID", loadUrl: serviceUrl + "/GetAction", insertUrl: serviceUrl + "/InsertAction", updateUrl: serviceUrl + "/UpdateAction", deleteUrl: serviceUrl + "/DeleteAction" }); return { store } } } </script>React
import React from 'react'; import 'devextreme/dist/css/dx.light.css'; import CustomStore from 'devextreme/data/custom_store'; import { createStore } from 'devextreme-aspnet-data-nojquery'; import TreeView from 'devextreme-react/tree-view'; const serviceUrl = "https://url/to/my/service"; const store = createStore({ key: "ID", loadUrl: serviceUrl + "/GetAction", insertUrl: serviceUrl + "/InsertAction", updateUrl: serviceUrl + "/UpdateAction", deleteUrl: serviceUrl + "/DeleteAction" }); class App extends React.Component { render() { return ( <TreeView ... dataSource={store} /> ); } } export default App;
Any other data source
Implement a CustomStore.
Regardless of the data source on the input, the TreeView always wraps it in the DataSource object. This object allows you to sort, filter, group, and perform other data shaping operations. To get its instance, call the getDataSource() method.
Review the following notes about data binding:
Do not specify the items property if you specified the dataSource, and vice versa.
Field names cannot be equal to this
and should not contain the following characters: .
, :
, [
, and ]
.
TreeView does not execute dataSource.sort functions. To implement custom sorting logic, implement columns[].calculateSortValue.
Notifies the UI component of the data structure in use.
Selector: data-structure
Default Value: 'tree'
The UI component expects that data has a hierarchical structure (dataStructure: 'tree'
). Each data item contains text, a unique id, and an items array if the data item includes sub-items:
var hierarchicalData = [{ id: '1', text: 'Fruits', items: [ { id: '1_1', text: 'Apples' }, { id: '1_2', text: 'Oranges' } ] }, { id: '2', text: 'Vegetables', items: [ { id: '2_1', text: 'Cucumbers' }, { id: '2_2', text: 'Tomatoes' } ] }];
A data item's
idshould not match
rootValuein the 'tree'
dataStructure.
If data has a plain structure, set the dataStructure property to "plain". In this case, each data item should have text, a unique id, and a parentId
. For root items, parentId
should be equal to 0 or undefined:
var plainData = [ { id: '1', text: 'Fruits' }, // A root item { id: '1_1', text: 'Apples', parentId: '1' }, { id: '1_2', text: 'Oranges', parentId: '1' }, { id: '2', text: 'Vegetables' }, // Also a root item { id: '2_1', text: 'Cucumbers', parentId: '2' }, { id: '2_2', text: 'Tomatoes', parentId: '2' } ];
id
, text
, items
, and parentId
are conventional field names. To use other names, change the keyExpr, displayExpr, itemsExpr, and parentIdExpr properties, respectively. You can also specify the rootValue property to change the parentId
value that root items should have.
Specifies whether the UI component responds to user interaction.
Specifies the name of the data source item field whose value defines whether or not the corresponding UI component item is disabled.
Selector: disabled-expr
Default Value: 'disabled'
Specifies the data field whose values should be displayed.
Selector: display-expr
Function parameters:The current item's data object.
Default Value: 'text'
Set this property to the name of a data field that provides displayed values...
... or to a function that returns the displayed value:
displayExpr: function(item) { // "item" can be null return item && 'ID: ' + item.id + ', Name: ' + item.name; }See Also
Specifies the global attributes to be attached to the UI component's container element.
Selector: DxElementAttr
Default Value: {}
jQuery$(function(){ $("#treeViewContainer").dxTreeView({ // ... elementAttr: { id: "elementId", class: "class-name" } }); });Angular
<dx-tree-view ... [elementAttr]="{ id: 'elementId', class: 'class-name' }"> </dx-tree-view>
import { DxTreeViewModule } from "devextreme-angular"; // ... export class AppComponent { // ... } @NgModule({ imports: [ // ... DxTreeViewModule ], // ... })Vue
<template> <DxTreeView ... :element-attr="treeViewAttributes"> </DxTreeView> </template> <script> import DxTreeView from 'devextreme-vue/tree-view'; export default { components: { DxTreeView }, data() { return { treeViewAttributes: { id: 'elementId', class: 'class-name' } } } } </script>React
import React from 'react'; import TreeView from 'devextreme-react/tree-view'; class App extends React.Component { treeViewAttributes = { id: 'elementId', class: 'class-name' } render() { return ( <TreeView ... elementAttr={this.treeViewAttributes}> </TreeView> ); } } export default App;
Specifies whether or not a user can expand all tree view items by the "*" hot key.
Selector: expand-all-enabled
Default Value: false
Specifies which data source field specifies whether an item is expanded.
Selector: expanded-expr
Default Value: 'expanded'
Specifies the event on which to expand/collapse a node.
Selector: expand-event
Default Value: 'dblclick'
Specifies a custom expand icon.
Selector: expand-icon
Default Value: null
This property accepts one of the following:
The following code snippet shows how to specify custom expand and collapse icons:
jQuery$(function() { $("#treeView").dxTreeView({ // ... collapseIcon: "minus", // icon from the DevExtreme icon library expandIcon: "https://path/to/the/expand_icon.svg", // icon in the SVG format }); });Angular
<dx-tree-view ... collapseIcon="minus" // icon from the DevExtreme icon library expandIcon="https://path/to/the/expand_icon.svg" // icon in the SVG format > </dx-tree-view>
import { Component } from '@angular/core'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { // ... }
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppComponent } from './app.component'; import { DxTreeViewModule } from 'devextreme-angular'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, DxTreeViewModule ], providers: [ ], bootstrap: [AppComponent] }) export class AppModule { }Vue
App.vue (Composition API)
<template> <DxTreeView ... collapseIcon="minus" // icon from the DevExtreme icon library expandIcon="https://path/to/the/expand_icon.svg" // icon in the SVG format /> </template> <script> import 'devextreme/dist/css/dx.light.css'; import DxTreeView from 'devextreme-vue/tree-view'; export default { components: { DxTreeView }, // ... } </script>
<template> <DxTreeView ... collapseIcon="minus" // icon from the DevExtreme icon library expandIcon="https://path/to/the/expand_icon.svg" // icon in the SVG format /> </template> <script setup> import 'devextreme/dist/css/dx.light.css'; import DxTreeView from 'devextreme-vue/tree-view'; // ... </script>React
import React from 'react'; import 'devextreme/dist/css/dx.light.css'; import TreeView from 'devextreme-react/tree-view'; export default function App() { return ( <TreeView ... collapseIcon="minus" // icon from the DevExtreme icon library expandIcon="https://path/to/the/expand_icon.svg" // icon in the SVG format /> ); }See Also
Specifies whether or not all parent nodes of an initially expanded node are displayed expanded.
Selector: expand-nodes-recursive
Default Value: true
Specifies whether the UI component can be focused using keyboard navigation.
Selector: focus-state-enabled
Default Value: true (desktop)
Specifies the name of the data source item field whose value defines whether or not the corresponding node includes child nodes.
Selector: has-items-expr
Default Value: 'hasItems'
Specifies the UI component's height.
This property accepts a value of one of the following types:
Number
The height in pixels.
String
A CSS-accepted measurement of height. For example, "55px"
, "20vh"
, "80%"
, "inherit"
.
Specifies text for a hint that appears when a user pauses on the UI component.
Specifies whether the UI component changes its state when a user pauses on it.
Selector: hover-state-enabled
Default Value: true
The time period in milliseconds before the onItemHold event is raised.
Selector: item-hold-timeout
Default Value: 750
An array of items displayed by the UI component.
The TreeView works with object collections that can have a plain or hierarchical structure. Depending on the structure, the objects should provide different data fields. Specify the dataStructure property to notify the TreeView of the used structure and refer to the property's description for information on the required fields.
If you need to update the UI component items, reassign the entire items array as shown in the following example:
treeViewInstance.option('items', newItems);
As an alternative to items, you can use the dataSource property. It accepts the DataSource object, whose underlying stores provide an API that allows you to update individual items without reassigning the entire item collection.
Do not use the items property if you use dataSource, and vice versa.
Specifies which data field contains nested items. Applies only if the dataStructure property is "tree".
Selector: items-expr
Default Value: 'items'
Specifies a custom template for items.
Selector: item-template
Template Data:The item object to be rendered.
Default Name: 'item'
Specifies which data field provides keys for TreeView items.
Selector: key-expr
Default Value: 'id'
Specifies the text or HTML markup displayed by the UI component if the item collection is empty.
Selector: no-data-text
Default Value: 'No data to display'
The TreeView component evaluates the noDataText property's value. This evaluation, however, makes the TreeView potentially vulnerable to XSS attacks. To guard against these attacks, encode the HTML markup before you assign it to the noDataText property. Refer to the following help topic for more information: Potentially Vulnerable API - noDataText.
A function that is executed when the UI component is rendered and each time the component is repainted.
Selector: @content-ready
Function parameters:Information about the event.
Object structure:
Default Value: null
A function that is executed before the UI component is disposed of.
Selector: @disposing
Function parameters:Information about the event.
Object structure:
Default Value: null
A function used in JavaScript frameworks to save the UI component instance.
Selector: @initialized
Function parameters:Information about the event.
Object structure:
Default Value: null
Angular<dx-tree-view ... (onInitialized)="saveInstance($event)"> </dx-tree-view>
import { Component } from "@angular/core"; import TreeView from "devextreme/ui/data_grid"; // ... export class AppComponent { treeViewInstance: TreeView; saveInstance (e) { this.treeViewInstance = e.component; } }Vue
App.vue (Composition API)
<template> <div> <DxTreeView ... @initialized="saveInstance"> </DxTreeView> </div> </template> <script> import DxTreeView from 'devextreme-vue/tree-view'; export default { components: { DxTreeView }, data: function() { return { treeViewInstance: null }; }, methods: { saveInstance: function(e) { this.treeViewInstance = e.component; } } }; </script>
<template> <div> <DxTreeView ... @initialized="saveInstance"> </DxTreeView> </div> </template> <script setup> import DxTreeView from 'devextreme-vue/tree-view'; let treeViewInstance = null; const saveInstance = (e) => { treeViewInstance = e.component; } </script>React
import TreeView from 'devextreme-react/tree-view'; class App extends React.Component { constructor(props) { super(props); this.saveInstance = this.saveInstance.bind(this); } saveInstance(e) { this.treeViewInstance = e.component; } render() { return ( <div> <TreeView onInitialized={this.saveInstance} /> </div> ); } }See Also jQuery
A function that is executed when a collection item is clicked or tapped.
Selector: @item-click
Function parameters:Information about the event.
Object structure:
Default Value: null
A function that is executed when a tree view item is collapsed.
Selector: @item-collapsed
Function parameters:Information about the event.
Object structure:
Default Value: null
A function that is executed when a collection item is right-clicked or pressed.
Selector: @item-context-menu
Function parameters:Information about the event.
Object structure:
Default Value: null
A function that is executed when a tree view item is expanded.
Selector: @item-expanded
Function parameters:Information about the event.
Object structure:
Default Value: null
A function that is executed when a collection item has been held for a specified period.
Selector: @item-hold
Function parameters:Information about the event.
Object structure:
Default Value: null
A function that is executed after a collection item is rendered.
Selector: @item-rendered
Function parameters:Information about the event.
Object structure:
Default Value: null
A function that is executed when a single TreeView item is selected or selection is canceled.
Selector: @item-selection-changed
Function parameters:Information about the event.
Object structure:
Default Value: null
A function that is executed after a UI component property is changed.
Selector: @option-changed
Function parameters:Information about the event.
Object structure:
Name Type Description value anyThe modified property's new value.
previousValue anyThe UI component's previous value.
nameThe modified property if it belongs to the first level. Otherwise, the first-level property it is nested into.
fullNameThe path to the modified property that includes all parent properties.
elementThe UI component's container. It is an HTML Element or a jQuery Element when you use jQuery.
componentThe UI component's instance.
Default Value: null
The following example shows how to subscribe to component property changes:
jQuery$(function() { $("#treeViewContainer").dxTreeView({ // ... onOptionChanged: function(e) { if(e.name === "changedProperty") { // handle the property change here } } }); });Angular
<dx-tree-view ... (onOptionChanged)="handlePropertyChange($event)"> </dx-tree-view>
import { Component } from '@angular/core'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { // ... handlePropertyChange(e) { if(e.name === "changedProperty") { // handle the property change here } } }
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppComponent } from './app.component'; import { DxTreeViewModule } from 'devextreme-angular'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, DxTreeViewModule ], providers: [ ], bootstrap: [AppComponent] }) export class AppModule { }Vue
<template> <DxTreeView ... @option-changed="handlePropertyChange" /> </template> <script> import 'devextreme/dist/css/dx.light.css'; import DxTreeView from 'devextreme-vue/tree-view'; export default { components: { DxTreeView }, // ... methods: { handlePropertyChange: function(e) { if(e.name === "changedProperty") { // handle the property change here } } } } </script>React
import React from 'react'; import 'devextreme/dist/css/dx.light.css'; import TreeView from 'devextreme-react/tree-view'; const handlePropertyChange = (e) => { if(e.name === "changedProperty") { // handle the property change here } } export default function App() { return ( <TreeView ... onOptionChanged={handlePropertyChange} /> ); }
A function that is executed when the "Select All" check box value is changed. Applies only if showCheckBoxesMode is "selectAll" and selectionMode is "multiple".
Selector: @select-all-value-changed
Function parameters:Information about the event.
Object structure:
Default Value: null
A function that is executed when a TreeView item is selected or selection is canceled.
Selector: @selection-changed
Function parameters:Information about the event.
Object structure:
Default Value: null
Specifies the name of the data source item field for holding the parent key of the corresponding node.
Selector: parent-id-expr
Default Value: 'parentId'
Specifies the parent ID value of the root item.
Selector: root-value
Type: any
Default Value: 0
Switches the UI component to a right-to-left representation.
Selector: rtl-enabled
Default Value: false
When this property is set to true, the UI component text flows from right to left, and the layout of elements is reversed. To switch the entire application/site to the right-to-left representation, assign true to the rtlEnabled field of the object passed to the DevExpress.config(config) method.
DevExpress.config({ rtlEnabled: true });
DataGrid Demo Navigation UI Demo Editors Demo
A string value specifying available scrolling directions.
Selector: scroll-direction
Default Value: 'vertical'
Configures the search panel.
Selector: search-editor-options
Default Value: {}
The component implements a DevExtreme TextBox component to display a search panel. Define TextBox Configuration properties in searchEditorOptions to customize the search panel:
jQuery$('#treeview').dxTreeView({ searchEditorOptions: { label: "Email", labelMode: "floating", showClearButton: true, } })Angular
<dx-tree-view ... [searchEnabled]="true" [searchEditorOptions]="textboxOptions" ></dx-tree-view>
import { DxTreeViewModule } from "devextreme-angular/ui/tree-view" import { DxTextBoxTypes } from 'devextreme-angular/ui/text-box'; // ... export class AppComponent { textboxOptions: DxTextBoxTypes.Properties = { label: "Email", labelMode: "floating", showClearButton: true, } }Vue
<script setup lang="ts"> import { DxTreeView } from 'devextreme-vue/tree-view'; import { type DxTextBoxTypes } from 'devextreme-vue/text-box'; const textboxOptions: DxTextBoxTypes.Properties = { label: "Email", labelMode: "floating", showClearButton: true, } </script> <template> <DxTreeView :search-enabled="true" :search-editor-options="textboxOptions" /> </template>React
import { TreeView } from 'devextreme-react/tree-view'; import { type TextBoxTypes } from 'devextreme-react/text-box'; function App() { const textboxOptions: TextBoxTypes.Properties = { label: "Email", labelMode: "floating", showClearButton: true, } return ( <> <TreeView searchEnabled={true} searchEditorOptions={textboxOptions} /> </> ) }Angular
The nested component that configures the searchEditorOptions property does not support event bindings and two-way property bindings.
VueThe nested component that configures the searchEditorOptions property does not support event bindings and two-way property bindings.
Specifies whether the search panel is visible.
Selector: search-enabled
Default Value: false
The UI component only searches loaded nodes, which can yield incorrect results if the UI component loads nodes on demand (for example, in
virtual modeor when the
createChildrenfunction is used). Permitting the search functionality in these cases is not recommended.
See AlsoSpecifies a data object's field name or an expression whose value is compared to the search string.
Selector: search-expr
Default Value: null
If you need to search several fields, assign an array of field names to this property.
searchExpr: ["firstName", "lastName"]
Specifies a comparison operation used to search UI component items.
Selector: search-mode
Default Value: 'contains'
Specifies a delay in milliseconds between when a user finishes typing, and the search is executed.
Selector: search-timeout
Default Value: undefined
Specifies the current search string.
Selector: search-value
Default Value: ''
Specifies the text displayed at the "Select All" check box.
Selector: select-all-text
Default Value: 'Select All'
Specifies whether an item is selected if a user clicks it.
Selector: select-by-click
Default Value: false
Specifies the name of the data source item field whose value defines whether or not the corresponding UI component items is selected.
Selector: selected-expr
Default Value: 'selected'
Specifies item selection mode. Applies only if selection is enabled.
Selector: selection-mode
Default Value: 'multiple'
Accepted Values: 'multiple' | 'single' | 'all' | 'none'
Specifies whether all child nodes should be selected when their parent node is selected. Applies only if the selectionMode is "multiple".
Selector: select-nodes-recursive
Default Value: true
If
searchingis applied, the TreeView recursively selects only those child nodes that satisfy the search condition.
Specifies the checkbox display mode.
Selector: show-check-boxes-mode
Default Value: 'none'
The property accepts the following values:
"none"
The UI component does not display checkboxes.
"normal"
The UI component displays one checkbox per item.
"selectAll"
The UI component displays one checkbox per item and one "Select All" checkbox at the top of the UI component. The selectionMode should be "multiple".
Specifies the number of the element when the Tab key is used for navigating.
Selector: tab-index
Default Value: 0
The value of this property will be passed to the tabindex
attribute of the HTML element that underlies the UI component.
Specifies whether or not the UI component uses native scrolling.
Selector: use-native-scrolling
Default Value: true, false (desktop except Mac)
Enables the virtual mode in which nodes are loaded on demand. Use it to enhance the performance on large datasets.
Selector: virtual-mode-enabled
Default Value: false
If this property is true, the UI component initially loads only the root nodes. Child nodes are loaded when their parent is being expanded.
The virtual mode has the following restrictions:
The dataSource property should be set to a DataSource instance able to filter items by parent ID.
The dataStructure property should be set to "plain".
Since the search will be performed on loaded nodes only and thus produce incorrect results, it is not recommended that you enable this functionality.
Specifies whether the UI component is visible.
Specifies the UI component's width.
This property accepts a value of one of the following types:
Number
The width in pixels.
String
A CSS-accepted measurement of width. For example, "55px"
, "20vw"
, "80%"
, "auto"
, "inherit"
.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4