@@ -411,56 +411,61 @@ export class DynamicForm extends React.Component<
411
411
columnInternalName,
412
412
hiddenFieldName,
413
413
} = field ;
414
+ let fieldcolumnInternalName = columnInternalName ;
415
+ if ( fieldcolumnInternalName . startsWith ( '_x' ) || fieldcolumnInternalName . startsWith ( '_' ) ) {
416
+ fieldcolumnInternalName = `OData_${ fieldcolumnInternalName } ` ;
417
+ }
414
418
if ( field . newValue !== null && field . newValue !== undefined ) {
415
419
416
420
let value = field . newValue ;
421
+
417
422
if ( [ "Lookup" , "LookupMulti" , "User" , "UserMulti" , "TaxonomyFieldTypeMulti" ] . indexOf ( fieldType ) < 0 ) {
418
423
objects [ columnInternalName ] = value ;
419
424
}
420
425
421
426
// Choice fields
422
427
423
428
if ( fieldType === "Choice" ) {
424
- objects [ columnInternalName ] = field . newValue . key ;
429
+ objects [ fieldcolumnInternalName ] = field . newValue . key ;
425
430
}
426
431
if ( fieldType === "MultiChoice" ) {
427
- objects [ columnInternalName ] = { results : field . newValue } ;
432
+ objects [ fieldcolumnInternalName ] = { results : field . newValue } ;
428
433
}
429
434
430
435
// Lookup fields
431
436
432
437
if ( fieldType === "Lookup" ) {
433
438
if ( value && value . length > 0 ) {
434
- objects [ `${ columnInternalName } Id` ] = value [ 0 ] . key ;
439
+ objects [ `${ fieldcolumnInternalName } Id` ] = value [ 0 ] . key ;
435
440
} else {
436
- objects [ `${ columnInternalName } Id` ] = null ;
441
+ objects [ `${ fieldcolumnInternalName } Id` ] = null ;
437
442
}
438
443
}
439
444
if ( fieldType === "LookupMulti" ) {
440
445
value = [ ] ;
441
446
field . newValue . forEach ( ( element ) => {
442
447
value . push ( element . key ) ;
443
448
} ) ;
444
- objects [ `${ columnInternalName } Id` ] = {
449
+ objects [ `${ fieldcolumnInternalName } Id` ] = {
445
450
results : value . length === 0 ? null : value ,
446
451
} ;
447
452
}
448
453
449
454
// User fields
450
455
451
456
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 ;
453
458
}
454
459
if ( fieldType === "UserMulti" ) {
455
- objects [ `${ columnInternalName } Id` ] = {
460
+ objects [ `${ fieldcolumnInternalName } Id` ] = {
456
461
results : field . newValue . length === 0 ? null : field . newValue ,
457
462
} ;
458
463
}
459
464
460
465
// Taxonomy / Managed Metadata fields
461
466
462
467
if ( fieldType === "TaxonomyFieldType" ) {
463
- objects [ columnInternalName ] = {
468
+ objects [ fieldcolumnInternalName ] = {
464
469
__metadata : { type : "SP.Taxonomy.TaxonomyFieldValue" } ,
465
470
Label : value [ 0 ] ?. name ?? "" ,
466
471
TermGuid : value [ 0 ] ?. key ?? "11111111-1111-1111-1111-111111111111" ,
@@ -476,19 +481,19 @@ export class DynamicForm extends React.Component<
476
481
// Other fields
477
482
478
483
if ( fieldType === "Location" ) {
479
- objects [ columnInternalName ] = JSON . stringify ( field . newValue ) ;
484
+ objects [ fieldcolumnInternalName ] = JSON . stringify ( field . newValue ) ;
480
485
}
481
486
if ( fieldType === "Thumbnail" ) {
482
487
if ( additionalData ) {
483
488
const uploadedImage = await this . uploadImage ( additionalData ) ;
484
- objects [ columnInternalName ] = JSON . stringify ( {
489
+ objects [ fieldcolumnInternalName ] = JSON . stringify ( {
485
490
type : "thumbnail" ,
486
491
fileName : uploadedImage . Name ,
487
492
serverRelativeUrl : uploadedImage . ServerRelativeUrl ,
488
493
id : uploadedImage . UniqueId ,
489
494
} ) ;
490
495
} else {
491
- objects [ columnInternalName ] = null ;
496
+ objects [ fieldcolumnInternalName ] = null ;
492
497
}
493
498
}
494
499
}
@@ -1062,9 +1067,14 @@ export class DynamicForm extends React.Component<
1062
1067
// eslint-disable-next-line @typescript-eslint/no-explicit-any
1063
1068
const selectedTags : any = [ ] ;
1064
1069
1070
+ let fieldName = field . InternalName ;
1071
+ if ( fieldName . startsWith ( '_x' ) || fieldName . startsWith ( '_' ) ) {
1072
+ fieldName = `OData_${ fieldName } ` ;
1073
+ }
1074
+
1065
1075
// 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 ] ;
1068
1078
stringValue = value . toString ( ) ;
1069
1079
} else {
1070
1080
defaultValue = field . DefaultValue ;
@@ -1221,8 +1231,10 @@ export class DynamicForm extends React.Component<
1221
1231
1222
1232
// Setup DateTime fields
1223
1233
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 ] ) ;
1226
1238
stringValue = value . toISOString ( ) ;
1227
1239
} else if ( defaultValue === "[today]" ) {
1228
1240
defaultValue = new Date ( ) ;
0 commit comments