如何合并两段var f代码实现字段值按需合并显示?
合并字段导出逻辑解决方案
核心需求是根据下拉框FMModule1的选中值,将FMModule1或Light-Temp与其他字段的导出值合并到目标字段。原代码因重复声明变量、逻辑顺序导致覆盖问题,修改后的代码如下:
// 声明不同变量避免重复覆盖 var moduleVal = this.getField("FMModule1").valueAsString.split("--")[2]; var finishVal = this.getField("FMFinish1").valueAsString.split("--")[3]; // 优先处理FMModule1为Y的情况 if (moduleVal == "Y") { event.value = this.getField("Light-Temp").valueAsString.split("--")[0]; } else { // 处理FMFinish1的X选项逻辑 if (finishVal == "X") { event.value = ""; } else { // 合并多字段导出值 event.value = this.getField("FMModule1").valueAsString.split("--")[0] + this.getField("FMFinish1").valueAsString.split("--")[0] + this.getField("FMAccPerf1").valueAsString.split("--")[0]; } }
修改说明
- 用
moduleVal和finishVal替代重复的f,避免变量重复声明引发的逻辑混乱; - 调整逻辑优先级:先判断
FMModule1是否为Y,满足条件直接赋值,不满足再进入FMFinish1的判断分支,彻底解决后续代码覆盖前面赋值的问题; - 用大括号明确代码块范围,提升可读性和逻辑严谨性。
内容的提问来源于stack exchange,提问作者Rick T.
相关产品推荐
相关产品推荐

