hy-virtual-tree 2.0.1 → 2.0.2
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 +10 -1
- package/dist/index.js +17 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hy-virtual-tree v2.0.
|
|
1
|
+
/* hy-virtual-tree v2.0.2 */
|
|
2
2
|
import './svg_bundle.js';
|
|
3
3
|
const isString = (e) => typeof e === 'string';
|
|
4
4
|
const isNumber = (e) => typeof e === 'number';
|
|
@@ -6727,6 +6727,7 @@ const createVNode = (arg, render) => {
|
|
|
6727
6727
|
vnode && vnode.destroy && vnode.destroy();
|
|
6728
6728
|
vnode && vnode.$destroy && vnode.$destroy();
|
|
6729
6729
|
}
|
|
6730
|
+
target.$destroy && target.$destroy();
|
|
6730
6731
|
// @ts-ignore
|
|
6731
6732
|
target.el = undefined;
|
|
6732
6733
|
// @ts-ignore
|
|
@@ -7472,6 +7473,11 @@ class VirtualScroll {
|
|
|
7472
7473
|
}
|
|
7473
7474
|
if (this._cacheDataMap.has(item.key)) {
|
|
7474
7475
|
const vnode = this._cacheDataMap.get(item.key);
|
|
7476
|
+
// 调用销毁方法
|
|
7477
|
+
const cacheTarget = this._cacheNodeMap.get(vnode.outerHTML);
|
|
7478
|
+
if (cacheTarget?.renderNode?.destroy) {
|
|
7479
|
+
cacheTarget.renderNode.destroy();
|
|
7480
|
+
}
|
|
7475
7481
|
this.contentContainer.removeChild(vnode.el);
|
|
7476
7482
|
this._cacheNodeMap.delete(vnode.outerHTML);
|
|
7477
7483
|
}
|
|
@@ -7610,6 +7616,9 @@ class VirtualScroll {
|
|
|
7610
7616
|
if (isElement(value)) {
|
|
7611
7617
|
el.appendChild(value);
|
|
7612
7618
|
}
|
|
7619
|
+
else if (isObject(value)) {
|
|
7620
|
+
el.appendChild(value.el);
|
|
7621
|
+
}
|
|
7613
7622
|
else {
|
|
7614
7623
|
el.innerHTML = value;
|
|
7615
7624
|
}
|
|
@@ -8973,7 +8982,7 @@ const useIcon = (config, data, node) => {
|
|
|
8973
8982
|
return new Icon({ svgName: deviceIconMap.cs });
|
|
8974
8983
|
}
|
|
8975
8984
|
// 其他设备
|
|
8976
|
-
if ((/^(device|channel|groupDevice)$/.test(config.business) && data.dataType === DataType.DEVICE)) {
|
|
8985
|
+
if ((/^(device|channel|groupDevice|planGroupDevice)$/.test(config.business) && data.dataType === DataType.DEVICE)) {
|
|
8977
8986
|
const { useIcon } = getGlobalDeviceConfig();
|
|
8978
8987
|
let svgName;
|
|
8979
8988
|
if (useIcon) {
|
|
@@ -9020,7 +9029,7 @@ const customRender = (options) => {
|
|
|
9020
9029
|
value = fn(node.data, node);
|
|
9021
9030
|
}
|
|
9022
9031
|
if (isObject(value) && value.el) {
|
|
9023
|
-
//
|
|
9032
|
+
// 处理从外部传入的没有挂载方法的节点
|
|
9024
9033
|
if (!value.mount) {
|
|
9025
9034
|
value = createVNode(value.el, (vnode) => {
|
|
9026
9035
|
vnode.$destroy = value.$destroy;
|
|
@@ -9031,7 +9040,11 @@ const customRender = (options) => {
|
|
|
9031
9040
|
return value;
|
|
9032
9041
|
}
|
|
9033
9042
|
if (isBoolean(value) && value) {
|
|
9034
|
-
|
|
9043
|
+
value = defaultFn && isFunction(defaultFn) ? defaultFn(node.data, node) : undefined;
|
|
9044
|
+
if (value && parent) {
|
|
9045
|
+
value.mount(parent);
|
|
9046
|
+
}
|
|
9047
|
+
return value;
|
|
9035
9048
|
}
|
|
9036
9049
|
else if (isElement(value)) {
|
|
9037
9050
|
if (inset) {
|