hy-virtual-tree 1.1.16 → 1.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  ## Changelog
2
2
 
3
+ ### 1.1.18
4
+
5
+ _2025-09-10_
6
+
7
+ - 扩展[VirtualTree] 功能
8
+ (1)修复CustomRenderFn 内置一层dom元素bug
9
+
10
+ ### 1.1.17
11
+
12
+ _2025-09-10_
13
+
14
+ - 扩展[VirtualTree] 功能
15
+ (1)CustomRenderFn 内置一层dom元素,兼容vue2的new Vue()挂载问题
16
+
3
17
  ### 1.1.16
4
18
 
5
19
  _2025-09-09_
package/dist/index.js CHANGED
@@ -1401,16 +1401,24 @@ function getContainer(config) {
1401
1401
  }
1402
1402
  /** 获取自定义元素函数的值 */
1403
1403
  function customRender(fn, node, options) {
1404
- const { parent, className, defaultFn } = options || {};
1404
+ const { parent, className, defaultFn, inset = false } = options || {};
1405
1405
  let value;
1406
1406
  if (!fn || !isFunction(fn)) {
1407
1407
  value = defaultFn && isFunction(defaultFn) && defaultFn(node.data, node);
1408
1408
  }
1409
1409
  else {
1410
- value = fn(node.data, node);
1411
- if (isBoolean(value) && value) {
1410
+ const dom = fn(node.data, node);
1411
+ if (isBoolean(dom) && dom) {
1412
1412
  value = defaultFn && isFunction(defaultFn) && defaultFn(node.data, node);
1413
1413
  }
1414
+ else if (isElement(dom) && inset) {
1415
+ value = document.createElement('div');
1416
+ className && value.classList.add(className);
1417
+ value.appendChild(dom);
1418
+ }
1419
+ else {
1420
+ value = dom;
1421
+ }
1414
1422
  }
1415
1423
  if (isEmpty(value))
1416
1424
  return;
@@ -1811,7 +1819,6 @@ class VirtualTree {
1811
1819
  };
1812
1820
  /** 生成内容 */
1813
1821
  const generateContent = (data, item) => {
1814
- console.log("generateContent??", item);
1815
1822
  const el = document.createElement('div');
1816
1823
  el.innerHTML = item.label || '';
1817
1824
  return el;
@@ -1831,14 +1838,13 @@ class VirtualTree {
1831
1838
  // 是否显示状态
1832
1839
  if (this._props.showStatus) {
1833
1840
  statusSlot = customRender(config.renderStatus, item, {
1841
+ inset: true,
1834
1842
  className: 'hy-tree-node__status',
1835
1843
  defaultFn: (data, node) => useStatus(config, data)
1836
1844
  });
1837
1845
  }
1838
1846
  // 右侧内容
1839
- if (config.renderRight) {
1840
- rightSlot = customRender(config.renderRight, item, { className: 'hy-tree-node__right-content' });
1841
- }
1847
+ rightSlot = customRender(config.renderRight, item, { inset: true, className: 'hy-tree-node__right-content' });
1842
1848
  if (!isElement(statusSlot) && !isElement(rightSlot))
1843
1849
  return;
1844
1850
  const el = document.createElement('div');
@@ -1932,13 +1938,14 @@ class VirtualTree {
1932
1938
  }
1933
1939
  // 整个节点内容
1934
1940
  customRender(config.renderItem, item, {
1941
+ inset: true,
1935
1942
  parent: content,
1936
1943
  className: 'hy-tree-node__node-content',
1937
1944
  defaultFn: (data, node) => {
1938
1945
  // 图标
1939
- customRender(config.renderIcon, node, { parent: content, className: 'hy-tree-icon', defaultFn: generateIcon });
1946
+ customRender(config.renderIcon, node, { inset: true, parent: content, className: 'hy-tree-icon', defaultFn: generateIcon });
1940
1947
  // 内容
1941
- customRender(config.renderContent, node, { parent: content, className: 'hy-tree-node__content', defaultFn: generateContent });
1948
+ customRender(config.renderContent, node, { inset: true, parent: content, className: 'hy-tree-node__content', defaultFn: generateContent });
1942
1949
  // 统计
1943
1950
  customRender(generateStats, node, { parent: content });
1944
1951
  // 右侧内容
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hy-virtual-tree",
3
- "version": "1.1.16",
3
+ "version": "1.1.18",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "dev": "vite",