无法为Lightning:InputField动态设置值

时间:2018-10-08 14:17:51

标签: salesforce-lightning

我已经创建了一个包含闪电记录编辑表单和几个字段的闪电组件。编写了Javascript方法,以便当我将第一个字段更改为特定值时,然后更新第二个字段。下面是我的代码。

<aura:component implements="force:appHostable">
   <aura:attribute name='test' type='String'/>
   <lightning:recordEditForm 
                          aura:id="editForm"
                          objectApiName="Case"
                          recordTypeId="{XXXXXXXXXXXXX}">
    <div class="slds-col slds-size_1-of-2 slds-p-around_x-small">
        <lightning:inputField aura:id="subject" fieldName="Subject" onchange="{!c.subjectChanged}"/>
    </div>
    <div class="slds-col slds-size_1-of-2 slds-p-around_x-small">
        <lightning:inputField aura:id="description" value="{!v.test}" fieldName="Description"/>
    </div>
</lightning:recordEditForm>
</aura:component>

下面是控制器代码

({
    subjectChanged : function(component, event, helper) {
        var subjectValue = component.find("subject").get("v.value");
        if(subjectValue === "U") {
            //var descriptionValue = component.find("description");
            //descriptionValue.set("v.value","User");
            component.set('v.test','User');
        }

    }
})
  1. 将“主题”字段更新为U,然后“描述”更新为“用户”
  2. 将“描述”字段值更新为XYZ或清除该值。
  3. 将主题字段更改为X,然后更新回U。
  4. 请注意,JS方法已执行,但说明未更新为'User'。

每当用户将主题字段更新为U时,我都希望将说明设置为User。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

摘自文档:https://developer.salesforce.com/docs/component-library/bundle/lightning:inputField/documentation

....假设存在尚未保存的更改,不应覆盖。如果您希望能够覆盖用户更改,请可以使用lightning:input代替 ....