为什么 contentItem.value 为空 - Lightswitch

Why contentItem.value is null- Lightswitch

我想隐藏一个基于 属性 的控件。所以我这样处理 PostRender 事件

但我得到 contentItem.value = null

如何访问原始对象,以便检查将隐藏控件的 属性?

谢谢

根据您提供的信息,在呈现控件时,它的值似乎尚未更新。

由于这不是异常情况,处理此问题的正常方法是使用 LightSwitch 的 dataBind 函数,该函数将在您的示例中按如下方式使用:-

myapp.ConfirmarRecepcion.GUIAItem_pagadoEntrega_postRender = function (element, contentItem) {
    // Write code here.
    contentItem.dataBind("value", function (value) {
        if (value.Documento.id != 1) {
            $(GUIAItem_pagadoEntrega).addClass(oculto);
        }
    }
}

此外,如果 value.Documento 引用相关实体,您应该使用以下方法确保已检索到它的值:-

myapp.ConfirmarRecepcion.GUIAItem_pagadoEntrega_postRender = function (element, contentItem) {
    // Write code here.
    contentItem.dataBind("value", function (value) {
        if (value) {
            value.getDocumento().then(function (documento) {
                if (documento && documento.id != 1) {
                    $(GUIAItem_pagadoEntrega).addClass(oculto);
                }
            });
        }
    }
}