我正在尝试从lightning:select获取值,但是当我在组件的js控制器中尝试console.log时,它什么也没显示。
我将完全相同的功能放在“检查元素>控制台”中,并且效果很好。
零件:
<lightning:select name="{!'mySelectedStatus' + case.CaseNumber}">
<option text="All" value="" selected="true"/>
<aura:iteration items="{!v.caseStatuses}" var="status">
<option text="{!status}" value="{!status}" />
</aura:iteration>
</lightning:select>
Controller.js:
changeStatus : function(component, event, helper) {
var csNum = event.getSource().get("v.name");
console.log(document.getElementsByName("mySelectedStatus00001044")[0].value); //Fails Here
var status = document.getElementsByName("mySelectedStatus"+csNum)[0].value;
helper.changeStatus(component, csNum, status);
}
在检查元素控制台中,我得到结果:document.getElementsByName(“ mySelectedStatus00001044”)[0] .value); 结果=>“新建”
但是在controller.js console.log()中,我空白了。 为什么?
尝试这样的事情:
在闪电上添加属性“标签”:选择此项为必填项。
分配光环:id
定义onchange事件以捕获最新的更改值
<aura:component>
<aura:attribute name="test" type="String[]" default="['A','B']" />
<lightning:select name="mySelectedStatus" label="selectlist" onchange=" {!c.changeStatus}" aura:id="mySelectedStatus">
<option text="All" value="" selected="true"/>
<aura:iteration items="{!v.test}" var="status">
<option text="{!status}" value="{!status}" />
</aura:iteration>
</lightning:select>
</aura:component>
JS控制器:
changeStatus : function(component, event, helper) {
console.log(component.find("mySelectedStatus").get("v.value"));
}
希望这可以帮助!!!