有人可以解释一下这些条件要检查的内容吗?我知道它与检查其他字段是否已被禁用有关,但我并不完全清楚。引用getDisabled方法的具体做法是什么?
if (!userHasRoleNeeded) {
Xrm.Page.ui.controls.forEach(function (control, i) {
if (control && control.getDisabled && !control.getDisabled()) {
control.setDisabled(true);
如果a && b
是“假的”,b
将不会执行a
。 control.getDisabled
正在检查control.getDisabled
是否“真实”(如果存在),如果存在,它将执行该方法。如果没有此检查,如果control.getDisabled
不存在,它将尝试执行未定义的方法并引发执行错误。为什么这是由图书馆作者做出的选择。
基本上我们这样做是为了避免错误,当control.setDisabled(true);
片段试图禁用像“iframe”,“webresource”和“subgrid”这样的控件时,因为这些控件没有disabled
属性。