Tree component based on Vue implementation
- Support drag, check, multiple check, bigData virtual scroll, lazy load, checkStrictly, add and delete node, etc.
Simple usage
Live Demo
Screenshots
Virtual tree render big data (100000 node):
checkbox:
Advantages
-
Simple and very easy to use.
-
Big data list with high render performance and efficient.
-
Can Customize following components (e.g. checkbox, expand icon, loading)
Api
props
Property | Type | Description | Default |
---|---|---|---|
treeData | Array[Object] | The treeNodes data Array,if set it then you need not to construct children TreeNode.(key should be unique across the whole array) |
- |
showCheckbox | boolean | Add a Checkbox before the treeNodes | false |
draggable | boolean | Whether to allow dropping on the node | false |
checkStrictly | boolean | Check treeNode precisely; parent treeNode and children treeNodes are not associated |
false |
lazy | boolean | Lazy load node data | false |
load | function | Load data asynchronously | function(node) |
immediatelyLoad | boolean | First load data when lazy load | false |
virtual | boolean | Disable virtual scroll when set to false | false |
height | number | When virtual scroll must set | - |
expandedAll | boolean | Whether to expand all treeNodes by default | - |
keeps | number | How many items you are expecting the virtual list to keep rendering in the real dom. |
30 |
searchVal | String | Search keywords | - |
Events
Property | Type | Description | Params |
---|---|---|---|
on-selected-change | function | Callback function for when the user right clicks a treeNode |
function(node) |
on-drop | function | Callback function for when the user drag node | function({ parentNode, targetNode, callback }) |
on-checked-item | function | Callback function for when the user check node | function({ node, vNode }) |
on-checked-change | function | Callback function for when checkbox change | function({ node, selectedData }) |
Scoped Slot
name | Description |
---|---|
loading | customize loading component, params({loading}) |
check | customize check component, params({handleClickCheckBox, selectToggle, node}) |
expandIcon | customize expand icon and unexpanded icon, params({ expanded, toggleFold }) |