在使用Aura构建的表单中使用JavaScript更改输入值

时间:2019-04-04 08:42:51

标签: javascript aura-framework

我使用aura(Salesforce JS框架)构建的表单中的输入:

<input class=" input uiInput uiInputText uiInput--default uiInput--input" type="text" aria-describedby="5284:0" placeholder="" id="7:4790;a" data-aura-rendered-by="17:4790;a" data-aura-class="uiInput uiInputText uiInput--default uiInput--input" data-interactive-lib-uid="54" aria-required="true">

我需要使用javascript更改此输入的值。 但是,这样做时:

document.getElementById("7:4790;a").value = "random value";

在视觉上,它更改了输入中的值,但是在保存时就没有考虑它,就像我没有进行任何更改一样。

我该如何实现? 我是否需要触发特定事件,以便光环注意到新数据?

1 个答案:

答案 0 :(得分:0)

您需要创建一个字符串类型的属性。

<aura:attribute name="myInputValue" type="String" />

将属性传递到输入标签的value属性。

<input .... value="{! v.myInputValue}" />

现在,每当您想更改输入中的值时,都可以通过javascript函数轻松完成此操作:

component.set('v.myInputValue, "My new String" />

重要说明:由于称为Locker服务的安全体系结构,Salesforce框架不允许DOM级操作。不建议遵循DOM级别的操作。相反,请遵循上述基于状态的方法。