Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取所选下拉项的值?_Javascript_Reactjs - Fatal编程技术网

Javascript 如何获取所选下拉项的值?

Javascript 如何获取所选下拉项的值?,javascript,reactjs,Javascript,Reactjs,我试图在下拉列表中获取所选项目的值id。目前,我正在尝试控制台日志的价值,但我不断得到未定义。我的数据不是空的,包含信息。我做错了什么?我正在使用rsuite testValue = (selectedValue) => { console.log(selectedValue); } <div className='pipeline-nav' style={{ width: 250 }}> <Si

我试图在下拉列表中获取所选项目的值
id
。目前,我正在尝试控制台日志的价值,但我不断得到未定义。我的数据不是空的,包含信息。我做错了什么?我正在使用
rsuite

testValue = (selectedValue) => {
    console.log(selectedValue);
}


            <div className='pipeline-nav' style={{ width: 250 }}>
                    <Sidenav
                        defaultOpenKeys={['1']}
                        activeKey='1'
                        appearance='inverse'
                        className='company-nav'
                    >
                        <Sidenav.Body>
                            <Nav className='nav-bar'>
                                <Dropdown
                                    className='nav-dropdown'
                                    eventKey='1'
                                    title='Company Filter'
                                >
                                    {this.state.companies.map((item) => (
                                        <Dropdown.Item
                                            eventKey={`1-(${item.id})`}
                                            key={item.id}
                                            value={item.id}
                                            onClick={e => this.testValue(e.target.value)}
                                        >
                                            {item.name} (
                                            {item.vacancies_count})
                                        </Dropdown.Item>
                                    ))}
                                </Dropdown>
                            </Nav>
                        </Sidenav.Body>
                    </Sidenav>
                </div>
testValue=(selectedValue)=>{
console.log(selectedValue);
}
{this.state.companys.map((项)=>(
this.testValue(e.target.value)}
>
{item.name}(
{项目.空缺_计数})
))}

您的下拉组件是否具有类似onChange的属性,请使用该属性,而不是在项级别使用onClick。

将id={item.id}添加到下拉列表中,onClick={e=>this.testValue(e.target.id)}有效

onChange不会触发console.log。我担心的是该值会变得未定义,但是当我使用innerHTML时,我能够获得一些信息,尽管我需要它的数值。我的下拉组件确实具有eventKey属性,但当我记录eventKey的值时,它还提供了未定义的属性。答案完全取决于Dropdown和Dropdown.Item的实现。这些是图书馆的还是什么的?这些都是你自己做的吗?为什么不在下拉菜单上这样做呢。Item:
onClick={e=>this.testValue(Item.id)}
这是一种非常迂回的获取值的方法——从Item中获取值,在元素中设置值,然后从元素中获取值——如果你可以跳过这些步骤,从Item本身获取值,这是正常的做事方式
onClick={e=>this.testValue(item.id)}