有条件地禁用dijit菜单

时间:2012-12-17 17:18:54

标签: javascript dojo

我正在尝试添加属性disabled: true或根本不添加任何内容,具体取决于on的值:

        var on = true;
        pMenu.addChild(new MenuItem({
          label: "Disabled menu item",
            if(on){
              return disabled: true;
            }
        }));

这似乎在控制台中返回错误“数字不是函数”。

1 个答案:

答案 0 :(得分:0)

我想这应该有效:

    var on = true;
    pMenu.addChild(new MenuItem({
        label: "Disabled menu item",
        disabled: on ? true : false
    }));

如果on确实是您的用例中的boolean - 值,您也可以将其分配给禁用,例如disabled: on,就是这样。但据我所知,你不能像if这样的非构造函数对象声明中执行语句(如{} - 级联。

默认情况下disabledfalse,这实际上就像添加任何内容一样,但在我个人看来它变得更具可读性。

考虑一下:你没有向实例添加属性,实际上你只想将值设置为已经存在的属性。