1.0.2 • Published 1 month ago

@tanzhenxing/zx-tree-v2 v1.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
1 month ago

zx-tree-v2 组件说明

高性能树形控件,支持大数据量虚拟滚动,兼容 H5、小程序、APP,基于 uniapp + Vue3 实现。

基本用法

<zx-tree-v2 :data="treeData" />

属性(Props)

属性说明类型默认值
data树形数据源,数组结构Array[]
props配置项,指定字段名Object{ value: 'id', label: 'label', children: 'children', disabled: 'disabled' }
showCheckbox是否显示复选框Booleanfalse
defaultCheckedKeys默认选中的节点 key 数组Array[]
defaultExpandedKeys默认展开的节点 key 数组Array[]
height虚拟滚动区域高度(px),不传为自适应Number-
virtual是否开启虚拟滚动(大数据量建议开启)Booleanfalse
renderContent自定义节点内容渲染函数Function-

事件(Events)

事件名说明回调参数
node-click节点被点击时触发(node)
check-change节点勾选状态变化时触发(node, checked)
expand-change节点展开状态变化时触发(expandedKeys)

插槽(Slots)

  • 暂不支持具名插槽,推荐使用 renderContent 进行自定义渲染。

用法示例

<template>
  <zx-tree-v2 :data="treeData" showCheckbox :defaultCheckedKeys="[111]" :defaultExpandedKeys="[1]" :renderContent="renderNodeContent" @node-click="onNodeClick" />
</template>

<script setup>
import { ref } from 'vue'
const treeData = ref([
  { id: 1, label: '一级', children: [{ id: 11, label: '二级' }] }
])
function onNodeClick(node) {
  uni.showToast({ title: node.label })
}
function renderNodeContent({ node, level }) {
  return `<text style='color: ${level === 1 ? "#409EFF" : "#333"}'>${node.label}</text>`
}
</script>

注意事项

  • 组件不依赖浏览器特有 DOM,适配所有 uniapp 支持的平台。
  • 虚拟滚动为大数据量优化,普通数据量可不开启。
  • 禁用节点请在数据中加 disabled: true 字段。

参考文档

1.0.2

1 month ago

1.0.1

2 months ago