2.3.8 • Published 10 months ago

@maomaohou/open-tree v2.3.8

Weekly downloads
-
License
MIT
Repository
-
Last release
10 months ago

open-tree

clone from "@wasf/ctree"

安装

yarn 安装方式

yarn add @maomaohou/open-tree

npm 安装方式

npm install @maomaohou/open-tree

样式引入

直接引入 css

@import '~@maomaohou/open-tree/dist/open-tree.css';

引入 less 以便于变量覆盖

@import '~@maomaohou/open-tree/src/styles/index.less';

API

tree Props

属性说明类型默认值
value选中的值,可用 v-model ;单选为字符串或数字,多选为 separator 分隔的字符串或数组,优先多选string \| number \| Array<string \| number>
data传入的树数据。数据量大时,不建议通过 props 传入数据,建议用 setData 方法代替object[][]
unloadDataList供未加载且选中节点查询 title 字段值用的列表,格式与 data 一致即可object[][]
showUnloadCheckedNodes过滤已选时是否在列表后面展示未加载的已选节点booleantrue
emptyText数据为空时显示的文本string'暂无数据'
titleField节点标题字段string'title'
keyField节点唯一标识字段string'id'
separator多选模式下 value 分隔符string','
checkable是否可多选booleanfalse
selectable是否可单选booleanfalse
filteredNodeCheckable是否可勾选被过滤节点booleanfalse
cascade父子节点是否关联booleantrue
enableLeafOnly是否只启用子节点,当 多选且父子不关联单选 时有效booleanfalse
disableAll是否禁用所有节点booleanfalse
defaultExpandAll是否默认展开所有节点booleanfalse
defaultExpandedKeys Deprecated默认展开的节点 keyArray<string \| number>[]
expandedKeys 2.2.0展开的节点 key ,组件内部将会响应此 Prop 的变化Array<string \| number>[]
draggable是否可拖拽booleanfalse
droppable是否可放置booleanfalse
beforeDropMethod在放置节点之前执行的方法,返回 true 允许放置, false 可阻止放置(dragKey: string \| number, dropKey: string \| number, hoverPart: 'before' \| 'body' \| 'after') => boolean() => true
ignoreMode忽略模式,指定 getCheckedNodes, getCheckedKeysv-model 默认要忽略的部分'none' \| 'parents' \| 'children''none'
autoLoad异步加载初始化时是否自动加载根节点booleantrue
load异步加载方法(node: null \| TreeNode, resolve: Function, reject: Function) => any
render节点渲染 render 函数(h: CreateElement, node: TreeNode) => VNode
filterMethod节点过滤方法(keyword: string, node: TreeNode) => boolean
expandOnFilter 2.1.0过滤时是否展开所有可见节点booleantrue
unselectOnClick 2.1.0点击已选中节点是否取消选中booleantrue
loading是否显示 loading 图标booleanfalse
nodeClassName节点根元素的 class ,传入函数以对每个节点定制 classstring \| object \| Array<string \| object> \| (node: TreeNode) => string \| object \| Array<string \| object>
nodeMinHeight根据节点最小高度计算数据总高度number30
nodeIndent子节点缩进number20
renderNodeAmount渲染节点数量,可见节点数大于此值且高度超过(容器可视高度能容纳节点数 + bufferNodeAmount)则不会渲染所有可见节点number100
bufferNodeAmount当滚动到视野外的节点个数大于此值时刷新渲染节点number20

tree Events

注:从 2.0.8 起,事件中返回的节点信息都是包括 _parentchildren 的完整节点信息(拖拽事件的 dataTransfer 除外)。

事件名说明返回值
input选中节点改变时触发选中的节点
expand展开/折叠时触发节点信息
check勾选时触发(多选)被勾选的节点信息
uncheck取消勾选时触发(多选)被取消勾选的节点信息
checked-change勾选/取消勾选时触发(多选)所有被勾选节点(数组)
select选中时触发(单选)被选中的节点信息
unselect取消选中时触发(单选)被取消选中的节点信息
selected-change选中/取消选中时触发(单选)被选中节点
click点击节点时触发节点信息
node-dblclick双击节点时触发节点信息
node-right-click右击节点时触发节点信息
node-dragstart开始拖拽节点时触发节点信息, 拖拽事件对象
node-dragenterdragenter 时触发节点信息 , 拖拽事件对象, 事件触发的节点部位 'before' \| 'body' \| 'after'
node-dragoverdragover 时触发节点信息 , 拖拽事件对象, 事件触发的节点部位 'before' \| 'body' \| 'after'
node-dragleavedragleave 时触发节点信息 , 拖拽事件对象, 事件触发的节点部位 'before' \| 'body' \| 'after'
node-drop放置节点时触发节点信息 , 拖拽事件对象, 事件触发的节点部位 'before' \| 'body' \| 'after'

tree Methods

方法说明参数返回值
setData使用此方法重置树数据,可避免大量数据被 vue 监听data: object[]: 同 data Propvoid
setChecked设置多选选中/取消选中key: string \| number: 节点 keyvalue: boolean: 是否选中void
setCheckedKeys批量设置选中/取消选中keys: Array<string \| number>: 节点 keyvalue: boolean: 是否选中void
checkAll设置所有数据全选void
clearChecked清空选中void
setSelected设置单选选中/取消选中key: string \| number: 节点 keyvalue: boolean: 是否选中void
setExpand设置展开/折叠key: string \| number: 节点 keyvalue: boolean: 是否展开expandParent: boolean = true: 如果是展开是否同时展开父节点 2.0.6void
setExpandKeys批量展开/折叠keys: Array<string \| number>: 节点 keyvalue: boolean: 是否展开void
setExpandAll设置全部展开/折叠value: boolean: 是否展开void
getCheckedNodes获取多选选中节点ignoreMode: 'none' \| 'parents' \| 'children': 需要忽略的部分,默认为 ignoreMode PropTreeNode[]
getCheckedKeys获取多选选中节点 keyignoreMode: 'none' \| 'parents' \| 'children': 需要忽略的部分,默认为 ignoreMode PropArray<string \| number>
getIndeterminateNodes获取半选状态的节点TreeNode[]
getSelectedNode获取单选选中节点TreeNode \| null
getSelectedKey获取单选选中节点 keyTreeNode \| null
getExpandNodes获取展开的节点TreeNode[]
getExpandKeys获取展开的节点 keyTreeNode[]
getCurrentVisibleNodes获取当前可见的节点TreeNode[]
getNode根据 key 获取节点key: string \| number: 节点 keyTreeNode \| null
getTreeData获取树形结构的节点数据TreeNode[]
getFlatData获取扁平化后的节点数据TreeNode[]
getNodesCount获取节点总数量number
insertBefore在参照节点前插入一个节点insertedNode: 节点 key 或者单个节点数据referenceKey: string \| number: 参照节点 keyTreeNode \| null 返回插入的节点
insertAfter在参照节点后插入一个节点insertedNode: 节点 key 或者单个节点数据referenceKey: string \| number: 参照节点 keyTreeNode \| null 返回插入的节点
append在父节点第一层子节点的末尾插入一个节点insertedNode: 节点 key 或者单个节点数据parentKey: string \| number: 父节点 keyTreeNode \| null 返回插入的节点
prepend在父节点第一层子节点的开头插入一个节点insertedNode: 节点 key 或者单个节点数据parentKey: string \| number: 父节点 keyTreeNode \| null 返回插入的节点
remove删除节点removedKey: string \| number: 要删除的节点 keyTreeNode \| null 返回删除的节点
filter过滤节点keyword: string: 过滤关键词filterMethod: (keyword: string, node: TreeNode) => boolean: 过滤方法,默认为 filterMethod Prop ,如果没有传 filterMethod Prop 则为搜索 title 字段的一个内置方法void
showCheckedNodes展示已选节点showUnloadCheckedNodes: boolean: 是否显示未加载的选中节点,默认为 Prop 传入的值void
loadRootNodes从远程加载根节点Promise<void>
scrollTo滚动到指定节点位置key: string \| number: 节点 keyverticalPosition: 'top' \| 'center' \| 'bottom' \| number: 滚动的垂直位置void

tree Slots

名称说明
empty暂无数据
loading加载中显示的图标

tree Data Fields

注:以 '_' 开头的字段最好不要覆盖,以免影响内部处理逻辑

字段说明
id默认以 'id' 作为 key 字段,也可以通过 keyField Prop 指定其他字段作为 key 字段
title默认显示的名称,可通过 titleField Prop 指定其他字段作为 title 字段
checked多选模式下是否勾选
selected单选模式下是否选中
indeterminate多选模式下是否半选状态
disabled是否禁用
expand父节点有效,节点展开状态
visible是否可见
_filterVisible过滤后是否可见,如果为 false 则在其他可见情况下也是不可见的
_parent父节点
children子节点数组
isLeaf标记节点是否为叶子节点
_level节点层级,默认从 0 开始
_loading节点是否正在加载
_loaded节点是否已经加载过,异步加载下有效
2.3.8

10 months ago

2.3.7

10 months ago

2.3.6

11 months ago

2.3.5

11 months ago

2.3.4

11 months ago

2.3.3

11 months ago

2.3.2

11 months ago

2.3.1

11 months ago