D365中的Javascript,设置所需字段

问题描述 投票:0回答:2

我需要在选择一个选项时设置可见并设置必填字段。我可以在客户端 API 中设置可见,但无法设置所需级别。

if(selectedItemCurrent != null && selectedItemCurrent.includes(8))
                {
                     formContext.getControl("comments").setVisible(true);
                     formContext.getControl("comments").setRequiredLevel("required");
                 } else
                 {
                     formContext.getControl("comments").setVisible(false);
                     formContext.getControl("comments").setRequiredLevel("none");
                 }
                
            } 

或者

formContext.getControl("comments").setVisible(selectedItemCurrent?.includes(8)&&setRequiredLevel("required"));

两者都抛出异常。有人可以帮我吗?

javascript dynamics-365
2个回答
1
投票

您提到您可以让 visible 工作,所以我假设列名称是正确的。设置requiredLevel时请尝试使用getAttribute函数而不是getControl

你也可以这样做:

let isVisible = (selectedItemCurrent != null && selectedItemCurrent.includes(8));

formContext.getControl("comments").setVisible(isVisible);
formContext.getAttribute("comments").setRequiredLevel(isVisible ? "required" : "none");

       

我正在复制这两种方法的文档链接。

https://learn.microsoft.com/en-us/powerapps/developer/model-driven-apps/clientapi/reference/attributes/setrequiredlevel

https://learn.microsoft.com/en-us/powerapps/developer/model-driven-apps/clientapi/reference/controls/setvisible

致以诚挚的问候


0
投票
if(selectedItemCurrent != null && selectedItemCurrent.includes(8))
           {
           formContext.getControl("comments").setVisible(true);
           formContext.getAttribute("comments").setRequiredLevel("required");
           } else
                 {
                     formContext.getControl("comments").setVisible(false);
                     formContext.getAttribute("comments").setRequiredLevel("none");
                 }
                
            } 
© www.soinside.com 2019 - 2024. All rights reserved.