首页 > 解决方案 > 闪电输入字段的值未定义,即使它具有值

问题描述

零件 :

<aura:if isTrue="{!v.internal}">
                <lightning:layoutItem size="6" padding="horizontal-small">
                    <lightning:inputField fieldName="To__c" class = "customRequired" value = "{!v.mailTo}" required="true"/>
                </lightning:layoutItem>
            </aura:if>
            <aura:if isTrue="{!v.external}">
                <lightning:layoutItem size="6" padding="horizontal-small">
                    <lightning:inputField fieldName="ToExternal__c" class = "customRequired" value = "{!v.mailExtTo}" required="true"/>
                </lightning:layoutItem>
            </aura:if>

帮手:

var toMail = component.get("v.mailTo");
var toExtMail = component.get("v.mailExtTo");

即使我在表单中填充了一些值,为什么它还是未定义?

标签: javascriptsalesforceundefinedapexsalesforce-lightning

解决方案


如果没有整个组件代码,很难知道问题出在哪里。这些字段是否有“aura:attribute”标签?如果您不这样做,那么我相信 usingcomponent.get("v.mailTo");将无法正常工作,因为它试图获取一个不存在的属性。要直接获取输入字段的值,您可以尝试将aura:id="someId"属性添加到<lightning:inputfield/>标签,然后以这种方式访问​​它们: var toMail = component.find("someId").get("v.value");因此您可以尝试一下。


推荐阅读