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