UNPKG

infogo-tree

Version:

A vue tree component using virtual list.

675 lines (371 loc) 12 kB
# Changelog The format is based on [Keep a Changelog](https://keepachangelog.com/zh-CN/0.3.0/), and this project adheres to [Semantic Versioning](https://semver.org/lang/zh-CN/). ## [Unreleased] ## [2.3.0] - 2020-04-15 ### Added - `CTreeDrop` 默认与 display slot 新增 Slot Props ### Changed ### Deprecated ### Removed ### Fixed ### Security ## [2.2.6] - 2019-12-12 ### Added ### Changed ### Deprecated ### Removed ### Fixed - 修复 `CTreeDrop` 下拉框定位 `top`, `bottom` 不正确的问题 ### Security ## [2.2.5] - 2019-12-11 ### Added ### Changed ### Deprecated ### Removed ### Fixed - 修复 `CTreeDrop` 下拉框定位不正确的问题 ### Security ## [2.2.4] - 2019-11-22 ### Added ### Changed - 修改 `package.json` 字段 ### Deprecated ### Removed ### Fixed ### Security ## [2.2.2] - 2019-11-14 ### Added - 树子节点新增 `_is-leaf` class ### Changed - 优化拖拽操作 ### Deprecated ### Removed ### Fixed ### Security ## [2.2.1] - 2019-11-14 ### Added ### Changed ### Deprecated ### Removed ### Fixed - 修复 `expandedKeys` 在重新设置 data 后无效的问题 ### Security ## [2.2.0] - 2019-11-13 ### Added - `CTree` 新增 `expandedKeys` Prop 以响应展开节点变化 - `CTree` 新增 `nodeClassName` Prop 给每个节点添加自定义的 class ### Changed - `CTree` `node-drop` 事件提到 `Tree.vue` 组件触发,且在拖拽成功后触发,因此触发频率相比以往会降低 ### Deprecated - `CTree` `defaultExpandedKeys` Prop 因为设计时不考虑其改变的情况,现已不推荐使用,将在下个大版本废弃,推荐改用 `expandedKeys` ### Removed ### Fixed ### Security ## [2.1.1] - 2019-11-11 ### Added - `CTree` `node-drop` 事件新增被拖拽节点参数 ### Changed ### Deprecated ### Removed ### Fixed ### Security ## [2.1.0] - 2019-11-06 ### Added - `CTree` 新增 `expandOnFilter` Prop 来决定过滤时是否展开所有可见节点 - `CTree` 新增 `unselectOnClick` Prop 可配置单选点击已选中节点时是否取消选中的行为 ### Changed - 取消运行时删除再定义 `nonReactive` 的行为,改为使用 TypeScript 类型断言来修复找不到 `nonReactive` 属性的报错 - 由于上述修改,测试用例不得不使用 `(vm as any).nonReactive` 来代替 `vm.$data.nonReactive` - 以上两点修改对树组件使用者没有影响 ### Deprecated ### Removed ### Fixed ### Security ## [2.0.20] - 2019-10-16 ### Added ### Changed ### Deprecated ### Removed ### Fixed - 修复 `insertBefore`, `insertAfter` 方法逻辑错误 ### Security ## [2.0.19] - 2019-10-15 ### Added ### Changed ### Deprecated ### Removed ### Fixed - 修复执行插入方法时数据不正确的问题 ### Security ## [2.0.18] - 2019-08-15 ### Added ### Changed ### Deprecated ### Removed ### Fixed - 修复 `CTreeDrop` 单选点击清空时,未加载数据无法清空的问题 ### Security ## [2.0.17] - 2019-08-04 ### Added ### Changed ### Deprecated ### Removed ### Fixed - 修复 2.0.16 版本导致 `CTreeDrop` 收起再展开数据显示不全的问题 - 修复 `CTreeDrop` 收起时会展开数据的问题 ### Security ## [2.0.16] - 2019-07-30 ### Added ### Changed ### Deprecated ### Removed ### Fixed - 修复 `CTreeDrop` 收起时会展开数据的问题 ### Security ## [2.0.15] - 2019-06-14 ### Added ### Changed - `CTreeDrop` 收起时清空搜索关键字 ### Deprecated ### Removed ### Fixed ### Security ## [2.0.14] - 2019-06-03 ### Added ### Changed ### Deprecated ### Removed ### Fixed - 修复 `CTreeDrop` 挂载后设置新的数据,显示不刷新的问题 ### Security ## [2.0.13] - 2019-05-30 ### Added ### Changed - `CTreeDrop` 设置 `clearable` 为 true 后,若没有 `checkable``selectable`,或没有选中的值,将不会出现清空按钮 - 增大展开节点图标点击热区,点不到展开图标?不存在的 ### Deprecated ### Removed ### Fixed - 修复过滤状态的树无法从外部清除被过滤节点的选中的问题 ### Security ## [2.0.12] - 2019-05-27 ### Added ### Changed ### Deprecated ### Removed ### Fixed - 修复 value 是未加载单选节点时重置 value 不触发 selected-change 事件问题 ### Security ## [2.0.11] - 2019-05-22 ### Added ### Changed ### Deprecated ### Removed ### Fixed - 修复先设置 value 后设置 data 时, `CTreeSearch``CTreeDrop` 值不回显的问题 ### Security ## [2.0.10] - 2019-05-22 ### Added ### Changed - 禁用 `CTreeDrop` 不显示右侧下拉箭头与清除按钮 - 缩小 `CTreeDrop` 搜索输入框上下间距 - 修改输入框 placeholder 颜色值为 `#c5c8ce` ### Deprecated ### Removed ### Fixed - 修复禁用下拉框可以点击清除的问题 ### Security ## [2.0.9] - 2019-05-15 ### Added ### Changed - 不级联搜索父节点现在子节点也会出现在结果中 ### Deprecated ### Removed ### Fixed - 修复单选搜索父节点无法显示子节点的问题 ### Security ## [2.0.8] - 2019-05-14 ### Added ### Changed - `CTree` 事件传出带 `_parent``children` 的完整节点信息 - 节点 `render` 传入带 `_parent``children` 的完整节点信息参数 ### Deprecated ### Removed ### Fixed - 修复树数据设置单选时无法取消选中的问题 ### Security ## [2.0.7] - 2019-04-18 ### Added ### Changed ### Deprecated ### Removed ### Fixed - 修复 `setExpandAll` 在异步加载的情况下会无限载入的问题 - 修复 data 变化时单选选中值异常,有值但界面上不选中的问题 ### Security ## [2.0.6] - 2019-04-16 ### Added - `setExpand` 新增 `expandParent` 参数,设置为 true 可同时展开父节点,默认为 true ### Changed ### Deprecated ### Removed ### Fixed - 修复 `setExpandKeys` 第二个参数无效的问题 - 修复 `filter` 方法过滤函数参数在传入 filterMethod Prop 的情况下无法覆盖的问题 ### Security ## [2.0.5] - 2019-04-15 ### Added - CTreeDrop 新增 `dropdownWidthFixed` Prop 以阻止下拉框宽度自适应 ### Changed ### Deprecated ### Removed ### Fixed - 修复标题换行导致的样式问题 - 修复点击子节点会触发 expand 事件的问题 ### Security ## [2.0.4] - 2019-04-11 ### Added - scroll 事件监听器加上 `.passive` 修饰符 ### Changed ### Deprecated ### Removed ### Fixed - 修复 CTreeSearch 初始化未更新全选复选框 ### Security ## [2.0.3] - 2019-04-10 ### Added ### Changed - 非级联过滤不根据父节点过滤情况判断 - filter 不使用递归 ### Deprecated ### Removed ### Fixed - 修复 CTreeDrop 初始展示文字不准确 - 修复 CTree value 改变会触发两次 `checked-change` 事件的问题 ### Security ## [2.0.2] - 2019-04-08 ### Added - CTreeSearch 新增 `searchMethod` 自定义搜索方法 ### Changed - CTreeSearch `searchRemote` Prop 在传入 `searchMethod` 时无效 ### Deprecated ### Removed ### Fixed - 修复 CTreeDrop 展示框文字垂直不居中 ### Security ## [2.0.1] - 2019-04-08 ### Added - CTreeDrop 新增 `dropdownMinWidth` Prop 可指定下拉框最小宽度 ### Changed ### Deprecated ### Removed ### Fixed - 兼容 Vue 2.5.16 `v-model``$attrs` 问题 - 修复指定 titleField 失效的问题 ### Security ## [2.0.0] - 2019-04-04 Warning: 2.x 进行了重构,与 1.x 的内部逻辑、行为表现以及 API 都有较大的差异,本更新日志可能无法将所有差异都列全。 ### Added 功能上新增: - 支持单选与多选并存 - 丰富获取节点数据 API - 新增节点增删 API - 新增节点拖拽功能 - 树搜索新增全选复选框 CTree Props: - 新增 `unloadDataList` Prop - 新增 `showUnloadCheckedNodes` Prop - 新增 `filteredNodeCheckable` Prop - 新增 `defaultExpandAll` Prop - 新增 `defaultExpandedKeys` Prop - 新增 `draggable`, `droppable`, `beforeDropMethod` Props,支持拖拽 - 新增 `autoLoad` Prop 控制异步时是否自动加载根节点 - 新增 `nodeMinHeight`, `nodeIndent`, `renderNodeAmount`, `bufferNodeAmount` Props 控制节点渲染 CTree Events: - 新增 `expand` 事件 - 新增 `click`, `node-dblclick`, `node-right-click` 节点点击事件 - 新增 `node-dragstart`, `node-dragenter`, `node-dragover`, `node-dragleave`, `node-drop` 节点拖拽事件 CTree Methods: - 新增 `setData` 方法设置树数据 - 新增 `checkAll`, `clearChecked` 方法进行多选全部勾选、全部取消操作 - 新增 `setExpandKeys` - 新增 `getCheckedKeys`, `getSelectedKey`, `getExpandNodes`, `getExpandKeys`, `getCurrentVisibleNodes`, `getNode`, `getTreeData`, `getFlatData`, `getNodesCount` 方法获取相应的节点数据 - 新增 `insertBefore`, `insertAfter`, `append`, `prepend`, `remove` 方法操作节点增加与删除 - 新增 `showCheckedNodes` 方法展示已选节点 - 新增 `scrollTo` 方法设置滚动到指定节点 CTree Slots: - 新增 `empty` Slot 自定义暂无数据 DOM - 新增 `loading` Slot 自定义加载图标 CTree Data Fields: - 新增 `_filterVisible` 表示是否过滤后可见 - 新增 `_parent` 指向父节点 - 新增 `_loading` 表示节点是否正在加载 CTreeSearch Props: - 新增 `showCheckAll`, `showCheckedButton`, `checkedButtonText` Props - 新增 `searchRemote` Prop 远程搜索 - 新增 `searchDebounceTime` Prop 指定搜索防抖时间 CTreeSearch Methods: - 新增 `clearKeyword` 方法清空关键字 - 新增 `search` 方法手动执行搜索 CTreeSearch Slots: - 新增 `search-input` 自定义搜索输入框 - 新增 `actions` 添加操作按钮 - 新增 `footer` 自定义底部信息 CTreeDrop Props: - 新增 `dropHeight` Prop 控制下拉内容高度 - 新增 `dropDisabled` Prop 控制是否禁用 - 新增 `placement` Prop 控制下拉框弹出位置 - 新增 `transfer` Prop 实现将下拉框 DOM 移动到 body 中 - 新增 `dropdownClassName` Prop 给下拉框添加 class CTreeDrop Slots: - 新增默认 Slot 自定义展示输入框 - 新增 `clear` Slot 自定义清空图标 ### Changed CTree Props: - `value` 不再接收对象类型的值,改为只接收单个 key 或字符串或 key 数组 - `filterMethod` 参数固定为 2 个 - `selectMode` 改为 `checkable``selectable` ,支持单选与多选并存 - `disabled` 更名为 `disableAll` - `expand` 更名为 `defaultExpandAll` CTree Events: - 目前事件所触发出来的数据均为 TreeNode 类型数据,请不要在外部直接修改(除了点击和拖拽不是完整的节点数据) CTree Methods: - `getCheckedNodes` 方法参数变为 1 个,同时不再返回未加载的节点,可以用 `getCheckedKeys` 获取全量选中的 key - `loadRootNodes` 不再接收参数,需要清空选中请直接清空 `value` - `setChecked` 方法只接收 2 个参数 CTree Data Fields: - `level` 更名为 `_level` CTreeSearch Props: - `placeholder` 更名为 `searchPlaceholder` - `searchInputDisabled` 更名为 `searchDisabled` CTreeSearch Methods: - `getValidSearchKeyword` 更名为 `getKeyword` ,同时不再保证是有效的搜索关键字,而是返回当前搜索输入框内 v-model 绑定的值 CTreeDrop Props: - `displayPlaceholder` 更名为 `dropPlaceholder` - `allowClear` 更名为 `clearable` ### Deprecated ### Removed 功能移除: - 移除 CTreeDrop 展示动画,展示框统一展示为 `已选 x 个` CTree Props: - 移除 `uncheckUnloadedMethod` - 移除 `selectMode` CTree Methods: - 移除 `getInitChecked` 方法 - 移除 `setCheckedNodes` 方法 CTreeSearch Props: - 移除 `value` ,可正常使用 v-model ,请放心 - 移除 `width` - 移除 `treeHeight` - 移除 `showActionBar` - 移除 `showSearchInput` - 移除 `ignoreMode` - 移除 `showTreeBorder` CTreeDrop Props: - 移除 `value` ,可正常使用 v-model ,请放心 - 移除 `displayWidth` - 移除 `displayHeight` - 移除 `treeHeight` ### Fixed ### Security