​vue-giant-tree:基于ztree封装的 Vue 树形组件,轻松实现海量数据的高性能渲染

github仓库

安装
npm i vue-giant-tree --save

注意:组件依赖 jQuery,务必在页面中提前加载 jQuery

<script src="https://code.jquery.com/jquery-3.6.0.min.js"
    integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
使用
<template>
  <tree
    :nodes="nodes"
    @onClick="onClick"
    @onCheck="onCheck"
    @onCreated="handleCreated"
  />
</template>

<script>
  import tree from "vue-giant-tree";
  export default {
    components: { tree },
    data() {
      return {
        nodes: [
          { id:1, pid:0, name:"随意勾选 1", open:true},
          { id:11, pid:1, name:"随意勾选 1-1", open:true},
          { id:111, pid:11, name:"随意勾选 1-1-1"},
          { id:112, pid:11, name:"随意勾选 1-1-2"},
          { id:12, pid:1, name:"随意勾选 1-2", open:true},
          { id:121, pid:12, name:"随意勾选 1-2-1"},
          { id:122, pid:12, name:"随意勾选 1-2-2"},
          { id:2, pid:0, name:"随意勾选 2", checked:true, open:true},
          { id:21, pid:2, name:"随意勾选 2-1"},
          { id:22, pid:2, name:"随意勾选 2-2", open:true},
          { id:221, pid:22, name:"随意勾选 2-2-1", checked:true},
          { id:222, pid:22, name:"随意勾选 2-2-2"},
          { id:23, pid:2, name:"随意勾选 2-3"}
        ]
      }
    },
    methods: {
      onClick(evt, treeId, treeNode) {

      },
      onCheck(evt, treeId, treeNode) {

      },
      handleCreated(ztreeObj) {

      }
    }
    ...
  }
</script>
属性
参数说明类型默认值
settingztree 配置Object{view: {showIcon: false}}
nodesztree 数据Array[]
事件

完全移植zTree APIcallback支持的事件,除了:

  • 不支持所有 before 开头的事件。这类事件的主要作用是根据返回值决定是否阻止后续的on事件,这种判断可以在on事件中实现;当然,你也可以通过setting.callback.beforeXXX自行配置
  • 不支持 onNodeCreated 事件。因为在大数据量下很耗性能,如果需要可以通过 setting.callback.onNodeCreated 自行传入
  • 增加 onCreated 事件。每次实例初始化完成时触发,回调参数接收 ztree 实例,通过 ztree 实例可以使用所有实例方法
事件名称说明
onAsyncError参考 zTree API
onAsyncSuccess参考 zTree API
onCheck参考 zTree API
onClick参考 zTree API
onCollapse参考 zTree API
onDblClick参考 zTree API
onDrag参考 zTree API
onDragMove参考 zTree API
onDrop参考 zTree API
onExpand参考 zTree API
onMouseDown参考 zTree API
onMouseUp参考 zTree API
onRemove参考 zTree API
onRename参考 zTree API
onRightClick参考 zTree API
onCreated初始化渲染完成后触发,回调参数接收 ztree 实例
扩展

zTree 没有提供给整个实例更新数据的方法,vue-giant-tree 基于 Vue 的组件通信机制扩展实现了响应式数据特性,只要nodes的值发生变化,ztree 实例就会随之更新。

项目 DEMO里演示了 vue-giant-tree 的响应式数据特性。

演示
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值