@@ -411,56 +411,61 @@ export class DynamicForm extends React.Component<
411411 columnInternalName,
412412 hiddenFieldName,
413413 } = field ;
414+ let fieldcolumnInternalName = columnInternalName ;
415+ if ( fieldcolumnInternalName . startsWith ( '_x' ) || fieldcolumnInternalName . startsWith ( '_' ) ) {
416+ fieldcolumnInternalName = `OData_${ fieldcolumnInternalName } ` ;
417+ }
414418 if ( field . newValue !== null && field . newValue !== undefined ) {
415419
416420 let value = field . newValue ;
421+
417422 if ( [ "Lookup" , "LookupMulti" , "User" , "UserMulti" , "TaxonomyFieldTypeMulti" ] . indexOf ( fieldType ) < 0 ) {
418423 objects [ columnInternalName ] = value ;
419424 }
420425
421426 // Choice fields
422427
423428 if ( fieldType === "Choice" ) {
424- objects [ columnInternalName ] = field . newValue . key ;
429+ objects [ fieldcolumnInternalName ] = field . newValue . key ;
425430 }
426431 if ( fieldType === "MultiChoice" ) {
427- objects [ columnInternalName ] = { results : field . newValue } ;
432+ objects [ fieldcolumnInternalName ] = { results : field . newValue } ;
428433 }
429434
430435 // Lookup fields
431436
432437 if ( fieldType === "Lookup" ) {
433438 if ( value && value . length > 0 ) {
434- objects [ `${ columnInternalName } Id` ] = value [ 0 ] . key ;
439+ objects [ `${ fieldcolumnInternalName } Id` ] = value [ 0 ] . key ;
435440 } else {
436- objects [ `${ columnInternalName } Id` ] = null ;
441+ objects [ `${ fieldcolumnInternalName } Id` ] = null ;
437442 }
438443 }
439444 if ( fieldType === "LookupMulti" ) {
440445 value = [ ] ;
441446 field . newValue . forEach ( ( element ) => {
442447 value . push ( element . key ) ;
443448 } ) ;
444- objects [ `${ columnInternalName } Id` ] = {
449+ objects [ `${ fieldcolumnInternalName } Id` ] = {
445450 results : value . length === 0 ? null : value ,
446451 } ;
447452 }
448453
449454 // User fields
450455
451456 if ( fieldType === "User" ) {
452- objects [ `${ columnInternalName } Id` ] = field . newValue . length === 0 ? null : field . newValue ;
457+ objects [ `${ fieldcolumnInternalName } Id` ] = field . newValue . length === 0 ? null : field . newValue ;
453458 }
454459 if ( fieldType === "UserMulti" ) {
455- objects [ `${ columnInternalName } Id` ] = {
460+ objects [ `${ fieldcolumnInternalName } Id` ] = {
456461 results : field . newValue . length === 0 ? null : field . newValue ,
457462 } ;
458463 }
459464
460465 // Taxonomy / Managed Metadata fields
461466
462467 if ( fieldType === "TaxonomyFieldType" ) {
463- objects [ columnInternalName ] = {
468+ objects [ fieldcolumnInternalName ] = {
464469 __metadata : { type : "SP.Taxonomy.TaxonomyFieldValue" } ,
465470 Label : value [ 0 ] ?. name ?? "" ,
466471 TermGuid : value [ 0 ] ?. key ?? "11111111-1111-1111-1111-111111111111" ,
@@ -476,19 +481,19 @@ export class DynamicForm extends React.Component<
476481 // Other fields
477482
478483 if ( fieldType === "Location" ) {
479- objects [ columnInternalName ] = JSON . stringify ( field . newValue ) ;
484+ objects [ fieldcolumnInternalName ] = JSON . stringify ( field . newValue ) ;
480485 }
481486 if ( fieldType === "Thumbnail" ) {
482487 if ( additionalData ) {
483488 const uploadedImage = await this . uploadImage ( additionalData ) ;
484- objects [ columnInternalName ] = JSON . stringify ( {
489+ objects [ fieldcolumnInternalName ] = JSON . stringify ( {
485490 type : "thumbnail" ,
486491 fileName : uploadedImage . Name ,
487492 serverRelativeUrl : uploadedImage . ServerRelativeUrl ,
488493 id : uploadedImage . UniqueId ,
489494 } ) ;
490495 } else {
491- objects [ columnInternalName ] = null ;
496+ objects [ fieldcolumnInternalName ] = null ;
492497 }
493498 }
494499 }
@@ -1062,9 +1067,14 @@ export class DynamicForm extends React.Component<
10621067 // eslint-disable-next-line @typescript-eslint/no-explicit-any
10631068 const selectedTags : any = [ ] ;
10641069
1070+ let fieldName = field . InternalName ;
1071+ if ( fieldName . startsWith ( '_x' ) || fieldName . startsWith ( '_' ) ) {
1072+ fieldName = `OData_${ fieldName } ` ;
1073+ }
1074+
10651075 // If a SharePoint Item was loaded, get the field value from it
1066- if ( item !== null && item [ field . InternalName ] ) {
1067- value = item [ field . InternalName ] ;
1076+ if ( item !== null && item [ fieldName ] ) {
1077+ value = item [ fieldName ] ;
10681078 stringValue = value . toString ( ) ;
10691079 } else {
10701080 defaultValue = field . DefaultValue ;
@@ -1221,8 +1231,10 @@ export class DynamicForm extends React.Component<
12211231
12221232 // Setup DateTime fields
12231233 if ( field . FieldType === "DateTime" ) {
1224- if ( item !== null && item [ field . InternalName ] ) {
1225- value = new Date ( item [ field . InternalName ] ) ;
1234+
1235+ if ( item !== null && item [ fieldName ] ) {
1236+
1237+ value = new Date ( item [ fieldName ] ) ;
12261238 stringValue = value . toISOString ( ) ;
12271239 } else if ( defaultValue === "[today]" ) {
12281240 defaultValue = new Date ( ) ;
0 commit comments