2015-07-20 82 views
1

如何返回字段的標準渲染?JS字段渲染返回標準字段渲染

(function() { 

    var readonlyFiledContext = {}; 
    readonlyFiledContext.Templates = {}; 
    readonlyFiledContext.Templates.Fields = { 
     // Apply the new rendering for Age field on Edit forms 
     "Title": { 
      "EditForm": FieldTemplate 
     } 
    }; 

    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(FiledContext); 

})(); 

function FieldTemplate(ctx) { 

    return ; 
    } 
} 

這取決於我喜歡渲染字段的值。當這個值不爲null時,讓它看起來很花哨,當它等於「null」時,就像標準渲染一樣渲染。我如何在此代碼段中返回標準字段呈現?

感謝您的幫助 斯特凡

回答

3

下面的例子演示瞭如何使用默認的呈現模板,如果值不爲空渲染文本字段:

SP.SOD.executeFunc("clienttemplates.js", "SPClientTemplates", function() { 


    SPClientTemplates.TemplateManager.RegisterTemplateOverrides({ 

     Templates: { 

      Fields: { 
       "ReqNo": { 
        EditForm: renderRegNo, 
       } 
      } 
     } 

    }); 

}); 

function renderRegNo(ctx){ 
    if(ctx.CurrentItem.RegNo.length == 0) { 
     return "Request number is missing"; 
    } 
    return SPFieldText_Edit(cxt); 
} 

注意:它假定RegNo場是Text類型


clientforms.js包含默認場渲染模板列表(每個字段類型):

var spfieldCtx = { 
      Templates: { 
       Fields: { 
        'Text': { 
         'View': RenderFieldValueDefault, 
         'DisplayForm': SPField_FormDisplay_Default, 
         'EditForm': SPFieldText_Edit, 
         'NewForm': SPFieldText_Edit 
        }, 
        'Number': { 
         'View': RenderFieldValueDefault, 
         'DisplayForm': SPField_FormDisplay_Default, 
         'EditForm': SPFieldNumber_Edit, 
         'NewForm': SPFieldNumber_Edit 
        }, 
        'Integer': { 
         'View': RenderFieldValueDefault, 
         'DisplayForm': SPField_FormDisplay_Default, 
         'EditForm': SPFieldNumber_Edit, 
         'NewForm': SPFieldNumber_Edit 
        }, 
        'Boolean': { 
         'View': RenderFieldValueDefault, 
         'DisplayForm': SPField_FormDisplay_DefaultNoEncode, 
         'EditForm': SPFieldBoolean_Edit, 
         'NewForm': SPFieldBoolean_Edit 
        }, 
        'Note': { 
         'View': RenderFieldValueDefault, 
         'DisplayForm': SPFieldNote_Display, 
         'EditForm': SPFieldNote_Edit, 
         'NewForm': SPFieldNote_Edit 
        }, 
        'Currency': { 
         'View': RenderFieldValueDefault, 
         'DisplayForm': SPField_FormDisplay_Default, 
         'EditForm': SPFieldNumber_Edit, 
         'NewForm': SPFieldNumber_Edit 
        }, 
        'File': { 
         'View': RenderFieldValueDefault, 
         'DisplayForm': SPFieldFile_Display, 
         'EditForm': SPFieldFile_Edit, 
         'NewForm': SPFieldFile_Edit 
        }, 
        'Calculated': { 
         'View': RenderFieldValueDefault, 
         'DisplayForm': SPField_FormDisplay_Default, 
         'EditForm': SPField_FormDisplay_Empty, 
         'NewForm': SPField_FormDisplay_Empty 
        }, 
        'Choice': { 
         'View': RenderFieldValueDefault, 
         'DisplayForm': SPField_FormDisplay_Default, 
         'EditForm': SPFieldChoice_Edit, 
         'NewForm': SPFieldChoice_Edit 
        }, 
        'MultiChoice': { 
         'View': RenderFieldValueDefault, 
         'DisplayForm': SPField_FormDisplay_Default, 
         'EditForm': SPFieldMultiChoice_Edit, 
         'NewForm': SPFieldMultiChoice_Edit 
        }, 
        'Lookup': { 
         'View': RenderFieldValueDefault, 
         'DisplayForm': SPFieldLookup_Display, 
         'EditForm': SPFieldLookup_Edit, 
         'NewForm': SPFieldLookup_Edit 
        }, 
        'LookupMulti': { 
         'View': RenderFieldValueDefault, 
         'DisplayForm': SPFieldLookup_Display, 
         'EditForm': SPFieldLookup_Edit, 
         'NewForm': SPFieldLookup_Edit 
        }, 
        'Computed': { 
         'View': RenderFieldValueDefault, 
         'DisplayForm': SPField_FormDisplay_Default, 
         'EditForm': SPField_FormDisplay_Default, 
         'NewForm': SPField_FormDisplay_Default 
        }, 
        'URL': { 
         'View': RenderFieldValueDefault, 
         'DisplayForm': SPFieldUrl_Display, 
         'EditForm': SPFieldUrl_Edit, 
         'NewForm': SPFieldUrl_Edit 
        }, 
        'User': { 
         'View': RenderFieldValueDefault, 
         'DisplayForm': SPFieldUser_Display, 
         'EditForm': SPClientPeoplePickerCSRTemplate, 
         'NewForm': SPClientPeoplePickerCSRTemplate 
        }, 
        'UserMulti': { 
         'View': RenderFieldValueDefault, 
         'DisplayForm': SPFieldUserMulti_Display, 
         'EditForm': SPClientPeoplePickerCSRTemplate, 
         'NewForm': SPClientPeoplePickerCSRTemplate 
        }, 
        'DateTime': { 
         'View': RenderFieldValueDefault, 
         'DisplayForm': SPFieldDateTime_Display, 
         'EditForm': SPFieldDateTime_Edit, 
         'NewForm': SPFieldDateTime_Edit 
        }, 
        'Attachments': { 
         'View': RenderFieldValueDefault, 
         'DisplayForm': SPFieldAttachments_Default, 
         'EditForm': SPFieldAttachments_Default, 
         'NewForm': SPFieldAttachments_Default 
        } 
       } 
      } 
     }; 
0

使用SPCSR幫手另一種選擇 - https://github.com/sdaly2107/SPCSR_Helper

SPCSR.Utils.HookFieldTemplates({

'ReqNo': function(ctx, template) { 

if(ctx.CurrentItem.RegNo.length == 0) { 
     template.html "Request number is missing"; 
} 

} 

}