From 4bcf0cdb86562b2e059433106c93300b0802dc82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Tue, 22 Sep 2026 13:17:43 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8A=E6=94=BE=E6=9D=90=E8=B4=A8=E6=97=B6?= =?UTF-8?q?=E7=94=A8=20if/else=20=E5=8F=96=E4=BB=A3=E5=B5=8C=E5=A5=97?= =?UTF-8?q?=E4=B8=89=E5=85=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - packages/model3d-viewer/src/scene.ts:disposeModel3dViewerObject 里把材质归一化成数组的三元链改成 if/else,展开层级与语义不变,只是去掉内层三元嵌套 验证:npx tsc(严格模式单文件检查)、npx vitest run packages/model3d-viewer --- packages/model3d-viewer/src/scene.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/model3d-viewer/src/scene.ts b/packages/model3d-viewer/src/scene.ts index bfc11ce3e..24d323b71 100644 --- a/packages/model3d-viewer/src/scene.ts +++ b/packages/model3d-viewer/src/scene.ts @@ -48,11 +48,12 @@ export function disposeModel3dViewerObject(object: ThreeTypes.Object3D) { const mesh = child as ThreeTypes.Mesh; mesh.geometry?.dispose?.(); const material = mesh.material; - const materials = Array.isArray(material) - ? material - : material - ? [material] - : []; + let materials: ThreeTypes.Material[] = []; + if (Array.isArray(material)) { + materials = material; + } else if (material) { + materials = [material]; + } for (const entry of materials) { for (const value of Object.values( entry as unknown as Record,