My assumption was that if any component data is changed, that the component will rerender, I want to change the type of the input field and have it rerender, but it's not doing that!
<aura:attribute name="lightningInputType" type="String" default="text"/>
<lightning:layoutItem size="2" padding="10">
<lightning:input aura:id="selectValue" required="true" label="Value" type="{!v.lightningInputType}" />
</lightning:layoutItem>
my controller function:
fieldSelected: function (cmp, event, helper) {
var displayToInputFieldMap = {
DATE: "date",
DATETIME: "datetime-local",
INTEGER: "number",
DOUBLE: "number",
CURRENCY: "number", // --> handle these specially with formatter
PERCENT: "number", // --> handle these specially with formatter
STRING: "text",
REFERENCE: "text",
ID: "text",
PHONE: "tel",
BOOLEAN: "text", // --> handle with a checkbox button
EMAIL: "email",
TEXTAREA: "text",
PICKLIST: "text", // ASK PM
MULTIPICKLIST: "text", // ASK PM
DEFAULT: "text"
};
var lightningInputType = displayToInputFieldMap[fieldType];
cmp.set("v.lightningInputType", lightningInputType);
}