Console.log()没有显示函数的结果

时间:2019-08-23 09:12:34

标签: javascript components salesforce lightning

我试图从闪电中获取值:选择,但是当我在组件的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()中,我空白了。为什么?

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

  1. 在闪电上添加属性“标签”:请选择此项。

  2. 分配光环:id

  3. 定义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"));
    }

希望这会有所帮助!