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

问题描述 投票:1回答:1

我正在尝试从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()中,我空白了。 为什么?

javascript components salesforce lightning
1个回答
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"));
    }

希望这可以帮助!!!

© www.soinside.com 2019 - 2024. All rights reserved.