You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power Platform模型驱动应用:表单字段按选择值动态显隐问题

Power Platform模型驱动应用表单字段显示隐藏问题修复

原脚本存在的问题

  • 字段值判断错误:Dataverse选项集字段的getValue()返回底层数字值(Yes对应1,No对应0),而非显示文本"Yes"/"No",原脚本的字符串判断永远不成立。
  • 逻辑完全倒置:需求是默认(Yes/1)隐藏字段,No/0时显示,原脚本逻辑正好相反。
  • 遗漏目标字段:未处理lm_drafttoggle自身的显示隐藏,只操作了另外两个字段。
  • 缺少实时触发:仅在表单加载和保存时执行逻辑,无法响应用户修改toggle的实时操作。

修正后的代码

// 表单加载时初始化字段显示状态
function onFormLoad(executionContext) {
    var formContext = executionContext.getFormContext();
    updateFieldVisibility(formContext);
}

// 当lm_drafttoggle值变更时实时触发
function onToggleChange(executionContext) {
    var formContext = executionContext.getFormContext();
    updateFieldVisibility(formContext);
}

// 统一处理字段显示隐藏逻辑
function updateFieldVisibility(formContext) {
    var toggleValue = formContext.getAttribute("lm_drafttoggle").getValue();
    // 需求:值为1(Yes)时隐藏,值为0(No)时显示
    var isVisible = toggleValue === 0;
    
    // 操作三个目标字段的显示状态
    formContext.getControl("lm_drafttoggle").setVisible(isVisible);
    formContext.getControl("lm_technicalapprover").setVisible(isVisible);
    formContext.getControl("lm_cabapprover").setVisible(isVisible);
}

配置步骤

  • 打开表单编辑器,切换到事件选项卡。
  • 给表单添加onFormLoad事件,绑定上述onFormLoad函数。
  • 找到lm_drafttoggle字段,添加onChange事件,绑定上述onToggleChange函数。
  • 保存并发布表单,测试效果。

内容的提问来源于stack exchange,提问作者LostMary

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 23:45:09