Mingcedar

所属产品: Mingcedar Studio DESIGNER

Set Variable on Click:页面运行时变量赋值 | Mingcedar Studio

这个行为适合把一次点击结果写入运行时变量空间,用于页面局部联动、局部显示切换和流程阶段标记。

首次发布 最近更新

<section id="set-variable" class="docs-block docs-block-intro docs-block-current"> <span class="section-kicker">变量</span> <h2>Set Variable on Click:页面运行时变量赋值</h2> <p>这个行为适合把一次点击结果写入运行时变量空间,用于页面局部联动、局部显示切换和流程阶段标记。</p> <div class="docs-detail-list"> <article id="set-variable-item-1" class="docs-detail-row"> <strong>它最适合什么场景</strong> <p>切换选中项、切换面板显隐、记录当前 tab、切换当前设备卡片、保存一次页面运行时状态,这些场景适合 Set Variable on Click。它不是设备写入动作,而是页面上下文动作。</p> </article><article id="set-variable-item-2" class="docs-detail-row"> <strong>字段说明</strong> <p>Variable(Target variable)填写变量名,不加引号;Value 可以是单行表达式,也可以是返回值的多行脚本;Condition 决定当前点击是否允许生效。Setup Script 可准备 Value 和 Condition 使用的局部变量。</p> </article><article id="set-variable-item-3" class="docs-detail-row"> <strong>Value 支持哪些写法</strong> <p>Value 可以填写固定字符串、数字、布尔表达式、变量或多行脚本。多行脚本需要用 return 返回最终写入值。Variable 字段填写变量名,不填写完整 Tag 点名,也不加引号。</p> <ul> <li>Variable:currentTab</li><li>Value 固定文本:&quot;alarm&quot;</li><li>Value 表达式:nextTab</li><li>Value 多行脚本:return selectedDevice;</li><li>Condition:running === true</li> </ul> <pre class="docs-code-block"><code>// Variable

currentTab

// Value

return selectedDevice === &quot;PUMP01&quot; ? &quot;pump&quot; : &quot;overview&quot;;</code></pre> </article><article id="set-variable-item-4" class="docs-detail-row"> <strong>相对 Write Tag 的优先场景</strong> <p>只要结果只影响页面显示或页面内逻辑,而不需要发到 PLC 或宿主机标签服务,就优先用 Set Variable on Click。这样边界更清楚,也更安全。</p> <pre class="docs-code-block"><code>// Setup Script

var nextValue = &quot;tab-alarm&quot;;

// Variable

currentTab

// Value

nextValue</code></pre> </article> </div> <div class="docs-note-grid"> <figure id="set-variable-image-1" class="docs-note-card manual-doc-image-card"> <img src="/WEB_img/HQPPT/VariableWriteBehaviorEditorForm.png" alt="Set Variable on Click" loading="lazy" decoding="async"> <figcaption> <strong>Set Variable on Click</strong> <p>只改页面运行时状态时,优先用变量写入,而不是直接写设备值。</p> </figcaption> </figure> </div> </section>