From 61f76c338b1643e6257fab39c4221d0df7caae3a Mon Sep 17 00:00:00 2001 From: feie9454 Date: Sat, 13 Sep 2025 16:11:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=94=B5=E8=A1=A8renderF?= =?UTF-8?q?=E5=AE=89=E5=85=A8=E7=AD=96=E7=95=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/VirtualLab.vue | 142 ++++++++++++++------------------------- src/views/elements.ts | 12 ++-- src/vite-env.d.ts | 6 ++ 3 files changed, 65 insertions(+), 95 deletions(-) diff --git a/src/views/VirtualLab.vue b/src/views/VirtualLab.vue index 843ded8..d3f7368 100644 --- a/src/views/VirtualLab.vue +++ b/src/views/VirtualLab.vue @@ -651,17 +651,10 @@ watchEffect(() => { solveMNA() }) function meterText(inst: Instance) { const live = instLive[inst.id] const i = live?.i ?? 0 - const r = inst.props?.['resistance'] ? safeNum(inst.props?.['resistance'], 0) : 0 - const code = String(inst.props?.['renderFunc'] || '') - if (!code) return `${(i).toFixed(6)} A` - try { - // 允许两种形态:"(i)=>..." 或 "(i,v,props)=>..." - const fn = new Function('i', 'r', 'props', 'return (' + code + ')(i, r, props)') - const out = fn(i, r, inst.props) - return String(out) - } catch { - return `ERR_RF` - } + const num = Number(inst.props?.['dispNum'] || '') + const fig = Number(inst.props?.['dispFig'] || '') + const unit = String(inst.props?.['dispUnit'] || 'A') + return `${(i * num).toFixed(fig)} ${unit}` } // 灯泡发光参数:随电流变化增加线条数量、长度、透明度 @@ -1031,8 +1024,7 @@ function editTextBox(inst: Instance) {