📅  最后修改于: 2023-12-03 14:48:23.364000             🧑  作者: Mango
vue-jstree 是一个基于 Javascript 的轻量级、高扩展性的树形控件组件库。它具有易用性和可定制性,并且非常适合用于用于构建树状数据结构的应用程序。
使用 vue-jstree 很简单,只需要以下几个简单步骤:
安装:
npm install vue-jstree
在项目中引入:
import Vue from 'vue'
import Jstree from 'vue-jstree'
Vue.component('jstree', Jstree)
在页面中使用:
<template>
<jstree :data="treeData" />
</template>
<script>
export default {
data() {
return {
treeData: [
{
text: 'Parent node',
children: [
{ text: 'Child node 1' },
{ text: 'Child node 2' },
],
},
],
}
},
}
</script>
注意:treeData
数据中必须包含 text
属性。其它属性可自定义。
当然,您也可以配置 vue-jstree 的默认行为。
数据项 data
是必须的配置项,它用于渲染树形控件。
<template>
<jstree :data="treeData" />
</template>
<script>
export default {
data() {
return {
treeData: [
{
text: 'Parent node',
children: [
{ text: 'Child node 1' },
{ text: 'Child node 2' },
],
},
],
}
},
}
</script>
您还可以为树形控件设置不同的配置选项。
<template>
<jstree :data="treeData" :config="treeConfig" />
</template>
<script>
export default {
data() {
return {
treeData: [
{
text: 'Parent node',
children: [
{ text: 'Child node 1' },
{ text: 'Child node 2' },
],
},
],
treeConfig: {
checkbox: true,
multiple: true,
},
}
},
}
</script>
vue-jstree 提供了多个事件供您使用。
<template>
<jstree
:data="treeData"
:config="treeConfig"
@select-node="onSelectNode"
/>
</template>
<script>
export default {
methods: {
onSelectNode(node) {
console.log(node)
},
},
}
</script>
可用事件:
check-change
:节点复选框状态改变时触发。select-node
:节点点击选中时触发。unselect-node
:节点取消选中时触发。move-node
:节点拖拽排序后触发。vue-jstree 提供了多个方法供您使用。
<template>
<jstree ref="tree" :data="treeData" />
<button @click="addNode">Add Node</button>
</template>
<script>
export default {
data() {
return {
treeData: [
{
text: 'Parent node',
children: [
{ text: 'Child node 1' },
{ text: 'Child node 2' },
],
},
],
}
},
methods: {
addNode() {
const node = {
text: 'New node',
}
this.$refs.tree.addNode(node)
},
},
}
</script>
可用方法:
addNode(node, parentId = null)
:添加节点。deleteNode(nodeId)
:删除节点。updateNode(nodeId, newNode)
:更新节点。以上就是 vue-jstree 的介绍,如有不懂或者需要更多详细信息,请参考官方文档。