2015-07-20 100 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"; 
} 

} 

}