闪电输入字段的值未定义,即使它有值

Lightning Input field's value is undefined, even if it has value

分量:

<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");

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

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