Uncaught TypeError: 'set' on proxy: trap returned falsish for property Name





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







6















Am not doing anything fancy, just trying to update a field on Contact in JS of LWC but getting this exception.



Uncaught TypeError: 'set' on proxy: trap returned falsish for property 'Name'
throws at mydomain/auraFW/javascript/mhontaYdOya4Y_lBu7v9yg/aura_prod.js:2:27687



HTML Code:



<template>

<template if:true={wiredContact}>

{wiredContact.Name}

<lightning-input value={wiredContact.Name} onchange={updateName}></lightning-input>
</template>

</template>


JS:



import { LightningElement ,wire,track,api } from 'lwc';
import myContact from "@salesforce/apex/ContactController.fetchContact";

export default class Myrefreshapextest extends LightningElement {


@track wiredContact;

@wire (myContact)
fetchedContact({error, data}){
if(data){
console.log(JSON.stringify(data));
this.wiredContact = data;
}else if (error){
console.log(error);
}
}

updateName (event){
console.log(JSON.stringify(event.detail.value));
console.log(JSON.stringify(this.wiredContact));
this.wiredContact.Name = event.detail.value;
}

}


Apex:



public class ContactController {

@AuraEnabled(cacheable=true)
public static Contact fetchContact(){
return [SELECT Id,Name FROM COntact LIMIT 1];
}
}


On top of my head, am not doing anything wrong, anyone has idea what's wrong with my code?



When I print console.log(JSON.stringify(this.wiredContact)); I get old values so am pretty sure it exists.



I tried with @track and @api, but same response. Can anyone shed some light?










share|improve this question























  • Do you get same issue when you use the individual field names viz., FirstName?

    – Jayant Das
    Apr 5 at 16:41











  • Same error Uncaught TypeError: 'set' on proxy: trap returned falsish for property 'FirstName' throws at its same error doesnt matter if its normal contact or personAccountContact.

    – Pranay Jaiswal
    Apr 5 at 16:43













  • I got the error (not exactly the same) but was able to replicate. Seems like you cannot set a value directly to the property instead recreate the JSON and then assign. E.g., this.wiredContact = ["Name:" + event.detail.value]; this worked. Still trying to figure out.

    – Jayant Das
    Apr 5 at 16:57











  • @JayantDas It's a design feature. One that I'm pretty sure isn't documented.

    – sfdcfox
    Apr 5 at 17:09











  • @sfdcfox I just saw the behavior you mentioned just by trying it out, and it worked, even though my format above is not JSON, but I was intending that.

    – Jayant Das
    Apr 5 at 17:15


















6















Am not doing anything fancy, just trying to update a field on Contact in JS of LWC but getting this exception.



Uncaught TypeError: 'set' on proxy: trap returned falsish for property 'Name'
throws at mydomain/auraFW/javascript/mhontaYdOya4Y_lBu7v9yg/aura_prod.js:2:27687



HTML Code:



<template>

<template if:true={wiredContact}>

{wiredContact.Name}

<lightning-input value={wiredContact.Name} onchange={updateName}></lightning-input>
</template>

</template>


JS:



import { LightningElement ,wire,track,api } from 'lwc';
import myContact from "@salesforce/apex/ContactController.fetchContact";

export default class Myrefreshapextest extends LightningElement {


@track wiredContact;

@wire (myContact)
fetchedContact({error, data}){
if(data){
console.log(JSON.stringify(data));
this.wiredContact = data;
}else if (error){
console.log(error);
}
}

updateName (event){
console.log(JSON.stringify(event.detail.value));
console.log(JSON.stringify(this.wiredContact));
this.wiredContact.Name = event.detail.value;
}

}


Apex:



public class ContactController {

@AuraEnabled(cacheable=true)
public static Contact fetchContact(){
return [SELECT Id,Name FROM COntact LIMIT 1];
}
}


On top of my head, am not doing anything wrong, anyone has idea what's wrong with my code?



When I print console.log(JSON.stringify(this.wiredContact)); I get old values so am pretty sure it exists.



I tried with @track and @api, but same response. Can anyone shed some light?










share|improve this question























  • Do you get same issue when you use the individual field names viz., FirstName?

    – Jayant Das
    Apr 5 at 16:41











  • Same error Uncaught TypeError: 'set' on proxy: trap returned falsish for property 'FirstName' throws at its same error doesnt matter if its normal contact or personAccountContact.

    – Pranay Jaiswal
    Apr 5 at 16:43













  • I got the error (not exactly the same) but was able to replicate. Seems like you cannot set a value directly to the property instead recreate the JSON and then assign. E.g., this.wiredContact = ["Name:" + event.detail.value]; this worked. Still trying to figure out.

    – Jayant Das
    Apr 5 at 16:57











  • @JayantDas It's a design feature. One that I'm pretty sure isn't documented.

    – sfdcfox
    Apr 5 at 17:09











  • @sfdcfox I just saw the behavior you mentioned just by trying it out, and it worked, even though my format above is not JSON, but I was intending that.

    – Jayant Das
    Apr 5 at 17:15














6












6








6








Am not doing anything fancy, just trying to update a field on Contact in JS of LWC but getting this exception.



Uncaught TypeError: 'set' on proxy: trap returned falsish for property 'Name'
throws at mydomain/auraFW/javascript/mhontaYdOya4Y_lBu7v9yg/aura_prod.js:2:27687



HTML Code:



<template>

<template if:true={wiredContact}>

{wiredContact.Name}

<lightning-input value={wiredContact.Name} onchange={updateName}></lightning-input>
</template>

</template>


JS:



import { LightningElement ,wire,track,api } from 'lwc';
import myContact from "@salesforce/apex/ContactController.fetchContact";

export default class Myrefreshapextest extends LightningElement {


@track wiredContact;

@wire (myContact)
fetchedContact({error, data}){
if(data){
console.log(JSON.stringify(data));
this.wiredContact = data;
}else if (error){
console.log(error);
}
}

updateName (event){
console.log(JSON.stringify(event.detail.value));
console.log(JSON.stringify(this.wiredContact));
this.wiredContact.Name = event.detail.value;
}

}


Apex:



public class ContactController {

@AuraEnabled(cacheable=true)
public static Contact fetchContact(){
return [SELECT Id,Name FROM COntact LIMIT 1];
}
}


On top of my head, am not doing anything wrong, anyone has idea what's wrong with my code?



When I print console.log(JSON.stringify(this.wiredContact)); I get old values so am pretty sure it exists.



I tried with @track and @api, but same response. Can anyone shed some light?










share|improve this question














Am not doing anything fancy, just trying to update a field on Contact in JS of LWC but getting this exception.



Uncaught TypeError: 'set' on proxy: trap returned falsish for property 'Name'
throws at mydomain/auraFW/javascript/mhontaYdOya4Y_lBu7v9yg/aura_prod.js:2:27687



HTML Code:



<template>

<template if:true={wiredContact}>

{wiredContact.Name}

<lightning-input value={wiredContact.Name} onchange={updateName}></lightning-input>
</template>

</template>


JS:



import { LightningElement ,wire,track,api } from 'lwc';
import myContact from "@salesforce/apex/ContactController.fetchContact";

export default class Myrefreshapextest extends LightningElement {


@track wiredContact;

@wire (myContact)
fetchedContact({error, data}){
if(data){
console.log(JSON.stringify(data));
this.wiredContact = data;
}else if (error){
console.log(error);
}
}

updateName (event){
console.log(JSON.stringify(event.detail.value));
console.log(JSON.stringify(this.wiredContact));
this.wiredContact.Name = event.detail.value;
}

}


Apex:



public class ContactController {

@AuraEnabled(cacheable=true)
public static Contact fetchContact(){
return [SELECT Id,Name FROM COntact LIMIT 1];
}
}


On top of my head, am not doing anything wrong, anyone has idea what's wrong with my code?



When I print console.log(JSON.stringify(this.wiredContact)); I get old values so am pretty sure it exists.



I tried with @track and @api, but same response. Can anyone shed some light?







lightning-web-components






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Apr 5 at 16:38









Pranay JaiswalPranay Jaiswal

18.7k53158




18.7k53158













  • Do you get same issue when you use the individual field names viz., FirstName?

    – Jayant Das
    Apr 5 at 16:41











  • Same error Uncaught TypeError: 'set' on proxy: trap returned falsish for property 'FirstName' throws at its same error doesnt matter if its normal contact or personAccountContact.

    – Pranay Jaiswal
    Apr 5 at 16:43













  • I got the error (not exactly the same) but was able to replicate. Seems like you cannot set a value directly to the property instead recreate the JSON and then assign. E.g., this.wiredContact = ["Name:" + event.detail.value]; this worked. Still trying to figure out.

    – Jayant Das
    Apr 5 at 16:57











  • @JayantDas It's a design feature. One that I'm pretty sure isn't documented.

    – sfdcfox
    Apr 5 at 17:09











  • @sfdcfox I just saw the behavior you mentioned just by trying it out, and it worked, even though my format above is not JSON, but I was intending that.

    – Jayant Das
    Apr 5 at 17:15



















  • Do you get same issue when you use the individual field names viz., FirstName?

    – Jayant Das
    Apr 5 at 16:41











  • Same error Uncaught TypeError: 'set' on proxy: trap returned falsish for property 'FirstName' throws at its same error doesnt matter if its normal contact or personAccountContact.

    – Pranay Jaiswal
    Apr 5 at 16:43













  • I got the error (not exactly the same) but was able to replicate. Seems like you cannot set a value directly to the property instead recreate the JSON and then assign. E.g., this.wiredContact = ["Name:" + event.detail.value]; this worked. Still trying to figure out.

    – Jayant Das
    Apr 5 at 16:57











  • @JayantDas It's a design feature. One that I'm pretty sure isn't documented.

    – sfdcfox
    Apr 5 at 17:09











  • @sfdcfox I just saw the behavior you mentioned just by trying it out, and it worked, even though my format above is not JSON, but I was intending that.

    – Jayant Das
    Apr 5 at 17:15

















Do you get same issue when you use the individual field names viz., FirstName?

– Jayant Das
Apr 5 at 16:41





Do you get same issue when you use the individual field names viz., FirstName?

– Jayant Das
Apr 5 at 16:41













Same error Uncaught TypeError: 'set' on proxy: trap returned falsish for property 'FirstName' throws at its same error doesnt matter if its normal contact or personAccountContact.

– Pranay Jaiswal
Apr 5 at 16:43







Same error Uncaught TypeError: 'set' on proxy: trap returned falsish for property 'FirstName' throws at its same error doesnt matter if its normal contact or personAccountContact.

– Pranay Jaiswal
Apr 5 at 16:43















I got the error (not exactly the same) but was able to replicate. Seems like you cannot set a value directly to the property instead recreate the JSON and then assign. E.g., this.wiredContact = ["Name:" + event.detail.value]; this worked. Still trying to figure out.

– Jayant Das
Apr 5 at 16:57





I got the error (not exactly the same) but was able to replicate. Seems like you cannot set a value directly to the property instead recreate the JSON and then assign. E.g., this.wiredContact = ["Name:" + event.detail.value]; this worked. Still trying to figure out.

– Jayant Das
Apr 5 at 16:57













@JayantDas It's a design feature. One that I'm pretty sure isn't documented.

– sfdcfox
Apr 5 at 17:09





@JayantDas It's a design feature. One that I'm pretty sure isn't documented.

– sfdcfox
Apr 5 at 17:09













@sfdcfox I just saw the behavior you mentioned just by trying it out, and it worked, even though my format above is not JSON, but I was intending that.

– Jayant Das
Apr 5 at 17:15





@sfdcfox I just saw the behavior you mentioned just by trying it out, and it worked, even though my format above is not JSON, but I was intending that.

– Jayant Das
Apr 5 at 17:15










2 Answers
2






active

oldest

votes


















6














Cached items are set as read-only (because otherwise you could corrupt the cache). If you want a modifiable object, you need to clone it.



this.wiredContact = Object.assign({}, data);


Based on comments, you can also use the rest parameter syntax in LWC:



this.wiredContact = {...data};





share|improve this answer





















  • 1





    +1 for Object.assign(). Didn't know something like this existed.

    – Jayant Das
    Apr 5 at 18:24








  • 1





    Thanks sfdcfox. You are truly a Javascript wizard.

    – Pranay Jaiswal
    Apr 5 at 18:30











  • @JayantDas In ES6, the syntactic sugar is: this.wiredContact = {...data};

    – tsalb
    Apr 5 at 23:32













  • @tsalb Thanks for sharing. I now recollect coming it across on one of Pranay’s another question

    – Jayant Das
    Apr 6 at 0:09











  • @tsalb I knew ... could be used as a rest parameter, I didn't actually know it works the way you mentioned. Thanks for teaching me something new!

    – sfdcfox
    Apr 6 at 15:34



















1














This is what I could find from the documentation for wired service and that seems to be the case here (emphasis mine).




The wire service provisions an immutable stream of data to the component




So it most likely seems that when trying to set the values directly using this.wiredContact.Name, because of it's read only property, the values are not getting set.



However if you try to create a new data and then assign it to this.wiredContact, it works:



this.wiredContact = "{Name:" + event.detail.value + "}";





share|improve this answer
























  • This solution presumes only one field. If you have multiple fields, you must remember to encode all of them or lose data. The solution I presented avoids this problem by copying everything on initialization, leaving the variable free to be modified in all other function calls.

    – sfdcfox
    Apr 5 at 18:20











  • Yeah, this was a more direct answer to the problem that Pranay had mentioned. I am not really good at JS, so didn't even know how to do so unless you mentioned.

    – Jayant Das
    Apr 5 at 18:22











  • +1 thanks for linking documentation. This was freaking me out.

    – Pranay Jaiswal
    Apr 5 at 18:29






  • 2





    I started looking only when @sfdcfox mentioned it was possibly not :) But at least it is mentioned. Easy to miss!

    – Jayant Das
    Apr 5 at 18:30












Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "459"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f256761%2funcaught-typeerror-set-on-proxy-trap-returned-falsish-for-property-name%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























2 Answers
2






active

oldest

votes








2 Answers
2






active

oldest

votes









active

oldest

votes






active

oldest

votes









6














Cached items are set as read-only (because otherwise you could corrupt the cache). If you want a modifiable object, you need to clone it.



this.wiredContact = Object.assign({}, data);


Based on comments, you can also use the rest parameter syntax in LWC:



this.wiredContact = {...data};





share|improve this answer





















  • 1





    +1 for Object.assign(). Didn't know something like this existed.

    – Jayant Das
    Apr 5 at 18:24








  • 1





    Thanks sfdcfox. You are truly a Javascript wizard.

    – Pranay Jaiswal
    Apr 5 at 18:30











  • @JayantDas In ES6, the syntactic sugar is: this.wiredContact = {...data};

    – tsalb
    Apr 5 at 23:32













  • @tsalb Thanks for sharing. I now recollect coming it across on one of Pranay’s another question

    – Jayant Das
    Apr 6 at 0:09











  • @tsalb I knew ... could be used as a rest parameter, I didn't actually know it works the way you mentioned. Thanks for teaching me something new!

    – sfdcfox
    Apr 6 at 15:34
















6














Cached items are set as read-only (because otherwise you could corrupt the cache). If you want a modifiable object, you need to clone it.



this.wiredContact = Object.assign({}, data);


Based on comments, you can also use the rest parameter syntax in LWC:



this.wiredContact = {...data};





share|improve this answer





















  • 1





    +1 for Object.assign(). Didn't know something like this existed.

    – Jayant Das
    Apr 5 at 18:24








  • 1





    Thanks sfdcfox. You are truly a Javascript wizard.

    – Pranay Jaiswal
    Apr 5 at 18:30











  • @JayantDas In ES6, the syntactic sugar is: this.wiredContact = {...data};

    – tsalb
    Apr 5 at 23:32













  • @tsalb Thanks for sharing. I now recollect coming it across on one of Pranay’s another question

    – Jayant Das
    Apr 6 at 0:09











  • @tsalb I knew ... could be used as a rest parameter, I didn't actually know it works the way you mentioned. Thanks for teaching me something new!

    – sfdcfox
    Apr 6 at 15:34














6












6








6







Cached items are set as read-only (because otherwise you could corrupt the cache). If you want a modifiable object, you need to clone it.



this.wiredContact = Object.assign({}, data);


Based on comments, you can also use the rest parameter syntax in LWC:



this.wiredContact = {...data};





share|improve this answer















Cached items are set as read-only (because otherwise you could corrupt the cache). If you want a modifiable object, you need to clone it.



this.wiredContact = Object.assign({}, data);


Based on comments, you can also use the rest parameter syntax in LWC:



this.wiredContact = {...data};






share|improve this answer














share|improve this answer



share|improve this answer








edited Apr 6 at 15:34

























answered Apr 5 at 17:05









sfdcfoxsfdcfox

265k13211458




265k13211458








  • 1





    +1 for Object.assign(). Didn't know something like this existed.

    – Jayant Das
    Apr 5 at 18:24








  • 1





    Thanks sfdcfox. You are truly a Javascript wizard.

    – Pranay Jaiswal
    Apr 5 at 18:30











  • @JayantDas In ES6, the syntactic sugar is: this.wiredContact = {...data};

    – tsalb
    Apr 5 at 23:32













  • @tsalb Thanks for sharing. I now recollect coming it across on one of Pranay’s another question

    – Jayant Das
    Apr 6 at 0:09











  • @tsalb I knew ... could be used as a rest parameter, I didn't actually know it works the way you mentioned. Thanks for teaching me something new!

    – sfdcfox
    Apr 6 at 15:34














  • 1





    +1 for Object.assign(). Didn't know something like this existed.

    – Jayant Das
    Apr 5 at 18:24








  • 1





    Thanks sfdcfox. You are truly a Javascript wizard.

    – Pranay Jaiswal
    Apr 5 at 18:30











  • @JayantDas In ES6, the syntactic sugar is: this.wiredContact = {...data};

    – tsalb
    Apr 5 at 23:32













  • @tsalb Thanks for sharing. I now recollect coming it across on one of Pranay’s another question

    – Jayant Das
    Apr 6 at 0:09











  • @tsalb I knew ... could be used as a rest parameter, I didn't actually know it works the way you mentioned. Thanks for teaching me something new!

    – sfdcfox
    Apr 6 at 15:34








1




1





+1 for Object.assign(). Didn't know something like this existed.

– Jayant Das
Apr 5 at 18:24







+1 for Object.assign(). Didn't know something like this existed.

– Jayant Das
Apr 5 at 18:24






1




1





Thanks sfdcfox. You are truly a Javascript wizard.

– Pranay Jaiswal
Apr 5 at 18:30





Thanks sfdcfox. You are truly a Javascript wizard.

– Pranay Jaiswal
Apr 5 at 18:30













@JayantDas In ES6, the syntactic sugar is: this.wiredContact = {...data};

– tsalb
Apr 5 at 23:32







@JayantDas In ES6, the syntactic sugar is: this.wiredContact = {...data};

– tsalb
Apr 5 at 23:32















@tsalb Thanks for sharing. I now recollect coming it across on one of Pranay’s another question

– Jayant Das
Apr 6 at 0:09





@tsalb Thanks for sharing. I now recollect coming it across on one of Pranay’s another question

– Jayant Das
Apr 6 at 0:09













@tsalb I knew ... could be used as a rest parameter, I didn't actually know it works the way you mentioned. Thanks for teaching me something new!

– sfdcfox
Apr 6 at 15:34





@tsalb I knew ... could be used as a rest parameter, I didn't actually know it works the way you mentioned. Thanks for teaching me something new!

– sfdcfox
Apr 6 at 15:34













1














This is what I could find from the documentation for wired service and that seems to be the case here (emphasis mine).




The wire service provisions an immutable stream of data to the component




So it most likely seems that when trying to set the values directly using this.wiredContact.Name, because of it's read only property, the values are not getting set.



However if you try to create a new data and then assign it to this.wiredContact, it works:



this.wiredContact = "{Name:" + event.detail.value + "}";





share|improve this answer
























  • This solution presumes only one field. If you have multiple fields, you must remember to encode all of them or lose data. The solution I presented avoids this problem by copying everything on initialization, leaving the variable free to be modified in all other function calls.

    – sfdcfox
    Apr 5 at 18:20











  • Yeah, this was a more direct answer to the problem that Pranay had mentioned. I am not really good at JS, so didn't even know how to do so unless you mentioned.

    – Jayant Das
    Apr 5 at 18:22











  • +1 thanks for linking documentation. This was freaking me out.

    – Pranay Jaiswal
    Apr 5 at 18:29






  • 2





    I started looking only when @sfdcfox mentioned it was possibly not :) But at least it is mentioned. Easy to miss!

    – Jayant Das
    Apr 5 at 18:30
















1














This is what I could find from the documentation for wired service and that seems to be the case here (emphasis mine).




The wire service provisions an immutable stream of data to the component




So it most likely seems that when trying to set the values directly using this.wiredContact.Name, because of it's read only property, the values are not getting set.



However if you try to create a new data and then assign it to this.wiredContact, it works:



this.wiredContact = "{Name:" + event.detail.value + "}";





share|improve this answer
























  • This solution presumes only one field. If you have multiple fields, you must remember to encode all of them or lose data. The solution I presented avoids this problem by copying everything on initialization, leaving the variable free to be modified in all other function calls.

    – sfdcfox
    Apr 5 at 18:20











  • Yeah, this was a more direct answer to the problem that Pranay had mentioned. I am not really good at JS, so didn't even know how to do so unless you mentioned.

    – Jayant Das
    Apr 5 at 18:22











  • +1 thanks for linking documentation. This was freaking me out.

    – Pranay Jaiswal
    Apr 5 at 18:29






  • 2





    I started looking only when @sfdcfox mentioned it was possibly not :) But at least it is mentioned. Easy to miss!

    – Jayant Das
    Apr 5 at 18:30














1












1








1







This is what I could find from the documentation for wired service and that seems to be the case here (emphasis mine).




The wire service provisions an immutable stream of data to the component




So it most likely seems that when trying to set the values directly using this.wiredContact.Name, because of it's read only property, the values are not getting set.



However if you try to create a new data and then assign it to this.wiredContact, it works:



this.wiredContact = "{Name:" + event.detail.value + "}";





share|improve this answer













This is what I could find from the documentation for wired service and that seems to be the case here (emphasis mine).




The wire service provisions an immutable stream of data to the component




So it most likely seems that when trying to set the values directly using this.wiredContact.Name, because of it's read only property, the values are not getting set.



However if you try to create a new data and then assign it to this.wiredContact, it works:



this.wiredContact = "{Name:" + event.detail.value + "}";






share|improve this answer












share|improve this answer



share|improve this answer










answered Apr 5 at 17:20









Jayant DasJayant Das

18.3k21330




18.3k21330













  • This solution presumes only one field. If you have multiple fields, you must remember to encode all of them or lose data. The solution I presented avoids this problem by copying everything on initialization, leaving the variable free to be modified in all other function calls.

    – sfdcfox
    Apr 5 at 18:20











  • Yeah, this was a more direct answer to the problem that Pranay had mentioned. I am not really good at JS, so didn't even know how to do so unless you mentioned.

    – Jayant Das
    Apr 5 at 18:22











  • +1 thanks for linking documentation. This was freaking me out.

    – Pranay Jaiswal
    Apr 5 at 18:29






  • 2





    I started looking only when @sfdcfox mentioned it was possibly not :) But at least it is mentioned. Easy to miss!

    – Jayant Das
    Apr 5 at 18:30



















  • This solution presumes only one field. If you have multiple fields, you must remember to encode all of them or lose data. The solution I presented avoids this problem by copying everything on initialization, leaving the variable free to be modified in all other function calls.

    – sfdcfox
    Apr 5 at 18:20











  • Yeah, this was a more direct answer to the problem that Pranay had mentioned. I am not really good at JS, so didn't even know how to do so unless you mentioned.

    – Jayant Das
    Apr 5 at 18:22











  • +1 thanks for linking documentation. This was freaking me out.

    – Pranay Jaiswal
    Apr 5 at 18:29






  • 2





    I started looking only when @sfdcfox mentioned it was possibly not :) But at least it is mentioned. Easy to miss!

    – Jayant Das
    Apr 5 at 18:30

















This solution presumes only one field. If you have multiple fields, you must remember to encode all of them or lose data. The solution I presented avoids this problem by copying everything on initialization, leaving the variable free to be modified in all other function calls.

– sfdcfox
Apr 5 at 18:20





This solution presumes only one field. If you have multiple fields, you must remember to encode all of them or lose data. The solution I presented avoids this problem by copying everything on initialization, leaving the variable free to be modified in all other function calls.

– sfdcfox
Apr 5 at 18:20













Yeah, this was a more direct answer to the problem that Pranay had mentioned. I am not really good at JS, so didn't even know how to do so unless you mentioned.

– Jayant Das
Apr 5 at 18:22





Yeah, this was a more direct answer to the problem that Pranay had mentioned. I am not really good at JS, so didn't even know how to do so unless you mentioned.

– Jayant Das
Apr 5 at 18:22













+1 thanks for linking documentation. This was freaking me out.

– Pranay Jaiswal
Apr 5 at 18:29





+1 thanks for linking documentation. This was freaking me out.

– Pranay Jaiswal
Apr 5 at 18:29




2




2





I started looking only when @sfdcfox mentioned it was possibly not :) But at least it is mentioned. Easy to miss!

– Jayant Das
Apr 5 at 18:30





I started looking only when @sfdcfox mentioned it was possibly not :) But at least it is mentioned. Easy to miss!

– Jayant Das
Apr 5 at 18:30


















draft saved

draft discarded




















































Thanks for contributing an answer to Salesforce Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f256761%2funcaught-typeerror-set-on-proxy-trap-returned-falsish-for-property-name%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Plaza Victoria

Brian Clough

Cáceres