1.0.17 • Published 1 year ago

vue-project-tree v1.0.17

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

vue-project-tree

预览图

一、使用

  1. 安装

npm install vue-project-tree -S

  1. 导入

import VueProjectTree from "vue-project-tree";

  1. 使用
import { ref } from 'vue';
import VueProjectTree from "vue-project-tree";

interface TreeNode {
    id: number;
    label: string;
    children?: TreeNode[];
};

const data = ref<TreeNode[]>([
    {
        id: 1,
        label: "1 不允许拖拽",
        children: [
            {
                id: 2,
                label: "2",
                children: [
                    {
                        id: 3,
                        label: "3"
                    },
                    {
                        id: 4,
                        label: "4"
                    },
                ]
            },
            {
                id: 5,
                label: "5",
            },
        ],
    },
    {
        id: 6,
        label: "6 不允许拖拽",
    },
    {
        id: 7,
        label: "7 不允许拖拽、放下",
    },
]);
<vue-project-tree :data="data"></vue-project-tree>

二、API

1、属性

名称说明类型默认值
data树形数据,最外层必须是数组Array
idKey?主键属性名(值在树中必须唯一)string"id"
labelKey?标签属性名string"label"
childrenKey?子节点数组属性名string"children"
indent?左侧缩进值number \| string24
nodeHeight?节点高度number \| string35
highlightCurrent?是否高亮当前选中节点booleantrue
expandIcon?是否显示展开图标booleantrue
expandIconSize?展开图标大小number \| string10
nodeIcon?是否显示节点图标booleanfalse
nodeIconSize?节点图标大小number \| string20
filterMethod?过滤方法(需手动调用 filter 函数执行过滤)Function() => true
draggable?是否允许拖拽booleanfalse
sortable?是否允许排序booleanfalse
allowDrag?节点是否拖拽放下处理函数(返回 true 表示允许拖拽)Function() => false
allowDrop?节点是否允许放下处理函数(返回 true 表示允许放下)Function() => false

2、事件

事件名说明回调参数
nodeClick节点点击事件(event: DragEvent, data: any, nodeElement: HTMLElement) 分别为事件数据,节点数据,节点元素
nodeDblclick节点双击事件(event: DragEvent, data: any, nodeElement: HTMLElement) 分别为事件数据,节点数据,节点元素
nodeRightClick节点右键点击事件(event: DragEvent, data: any, nodeElement: HTMLElement) 分别为事件数据,节点数据,节点元素
currentNodeChange当前节点改变事件(data: any) 节点数据
start拖拽开始事件(event: DragEvent, data: any, nodeElement: HTMLElement) 分别为事件数据,节点数据,节点元素
enter拖拽进入事件(event: DragEvent, data: any, nodeElement: HTMLElement) 分别为事件数据,节点数据,节点元素
over拖拽进入后在节点内持续触发(event: DragEvent, data: any, nodeElement: HTMLElement) 分别为事件数据,节点数据,节点元素
leave拖拽离开事件(event: DragEvent, data: any, nodeElement: HTMLElement) 分别为事件数据,节点数据,节点元素
dropped节点放下事件(event: DragEvent, data: any, nodeElement: HTMLElement, extraData: DroppedExtraData) 分别为事件数据,节点数据,节点元素,额外数据(type: 拖拽放下位置, isPreventDefault: 是否阻止默认操作, preventDefault: 调用后阻止默认操作, _default?: 调用后立即执行默认操作(仅放下子事件拥有))
droppedBefore放在节点前事件(event: DragEvent, dragData: any[], dropData: any, extraData: DroppedExtraData) 分别为事件数据,拖拽节点数据列表,放下节点数据,额外数据(type: 拖拽放下位置, isPreventDefault: 是否阻止默认操作, preventDefault: 调用后阻止默认操作, _default?: 调用后立即执行默认操作(仅放下子事件拥有
droppedIn放在节点内事件(event: DragEvent, dragData: any[], dropData: any, extraData: DroppedExtraData) 分别为事件数据,拖拽节点数据列表,放下节点数据,额外数据(type: 拖拽放下位置, isPreventDefault: 是否阻止默认操作, preventDefault: 调用后阻止默认操作, _default?: 调用后立即执行默认操作(仅放下子事件拥有
droppedAfter放在节点后事件(event: DragEvent, dragData: any[], dropData: any, extraData: DroppedExtraData) 分别为事件数据,拖拽节点数据列表,放下节点数据,额外数据(type: 拖拽放下位置, isPreventDefault: 是否阻止默认操作, preventDefault: 调用后阻止默认操作, _default?: 调用后立即执行默认操作(仅放下子事件拥有
end拖拽结束事件(event: DragEvent, data: any, nodeElement: HTMLElement) 分别为事件数据,节点数据,节点元素

3、方法

方法描述参数返回值
getMultipleList获取选择节点的 data 数据
clearMultipleList清除选择节点
getMoveList获取多选列表,多选列表为空时返回元素为当前节点数据的列表
filter执行过滤接受一个参数并指定为 filter-method 的第一个参数
setCurrentData设置当前选中节点的数据(data: any) 节点数据
getCurrentData获取当前选中节点的数据
findById通过节点主键值查找节点数据(id: any, data?: any[]) 分别为节点主键值,(可选)查找的节点数据
findParentById通过节点主键值查找父节点数据,没有则返回 null(id: any) 分别为节点主键值
removeData移除节点(dataList: any[]) 节点数据列表
addData添加节点(dataList: any[], parentData: any, insertIndex = 0) 分别为节点数据列表,父节点数据,插入的下标(默认0)
moveBefore移动到节点前(dragData: any[], dropData: any) 分别为拖拽节点数据列表,放下节点数据移动后的节点索引
moveIn移动到节点内(dragData: any[], dropData: any) 分别为拖拽节点数据列表,放下节点数据移动后的节点索引
moveAfter移动到节点后(dragData: any[], dropData: any) 分别为拖拽节点数据列表,放下节点数据移动后的节点索引

4、插槽

插槽名说明
nodeIcon自定义展开图标{ data, size } 分别为节点数据,展开图标大小
nodeIcon自定义节点图标{ data, size } 分别为节点数据,节点图标大小
1.0.17

1 year ago

1.0.16

1 year ago

1.0.15

1 year ago

1.0.11

1 year ago

1.0.14

1 year ago

1.0.13

1 year ago

1.0.12

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.10

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago