I have an Aura Component which I'm using to dynamically show a set of fields based off of a record type. This is done using Custom Metadata to store the association between record type and field that needs shown. In the component helper, I then use $A.createComponent to create a lightning:input, which uses cmp.getReference() to map the field on the record to the value attribute of the lightning:input. This works to display the value of the field, but does not send the value back to a flow. Here is my code:
helper js:
var componentType = "lightning:input";
var fieldReference = "v.selectedEntry." + field.Field_API_Name__c;
var params = {
"label" : field.Field_Label__c,
"value" : cmp.getReference(fieldReference),
"type" : "text"
};
$A.createComponent(componentType, params, function(newCmp, status, errorMessage) {
if(status === "SUCCESS") {
let body = cmp.get("v.body");
body.push(newCmp);
cmp.set("v.body", body);
}
else {
console.log("Error: " + errorMessage);
}
});
And in my design file I have <design:attribute name="selectedEntry" label="Output Entry Record" />
This is then used in the flow in the Store Output Values to Select Variables section, and the NVCA_Temp_Entry variable is then inserted later in the flow
Overall, I know the reference is working, because it will display the value already there, but any idea why when the record is later saved in the flow, the new values don't get saved?