我试图从 Lightning:select 中获取值,但是当我在组件的 js Controller 中尝试 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); 结果=>"new"
但是在controller.js console.log() 中我一片空白。为什么?
最佳答案
尝试这样的事情:
在闪电上添加属性“标签”:选择,因为它是强制性的。
分配 aura: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 Controller :
changeStatus : function(component, event, helper) {
console.log(component.find("mySelectedStatus").get("v.value"));
}
希望这有帮助!!!
关于javascript - Console.log() 它不显示函数的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57623152/