Reactjs onSelect返回第一个未定义的参数
我有一个带有eventhandler的下拉按钮:Reactjs onSelect返回第一个未定义的参数,reactjs,typescript,Reactjs,Typescript,我有一个带有eventhandler的下拉按钮: onSelect={this.handleSelect.bind(this)}> 但是,我收到的第一个参数未定义,第二个参数是带有事件信息的代理。为什么我的第一个参数没有定义 private handleSelect(e1, e2) { debugger; e1; console.log(e2); } e1未定义 e2保存事件详细信息 事件处理程序在位于arrow函数中的select上调用 renderR
onSelect={this.handleSelect.bind(this)}>
但是,我收到的第一个参数未定义,第二个参数是带有事件信息的代理。为什么我的第一个参数没有定义
private handleSelect(e1, e2) {
debugger;
e1;
console.log(e2);
}
e1未定义
e2保存事件详细信息
事件处理程序在位于arrow函数中的select上调用
renderRanks = () => {
const { intl } = this.props;
return (
<DropdownButton bsSize="sm" id="ranks"
title={"Title"}>
{this.store.levels.map((pl) =>
<MenuItem data={pl.Id} key={pl.Number}>{pl.Name}</MenuItem>)}
</DropdownButton>
)
}
改用onChange事件。 您的函数handleSelect如下所示
handleSelect = (event) => {
const e1 = event.target.value // contains value of select
const e2 = event // contains event object
}
onSelect
事件处理程序期望eventKey和event作为其参数。您正在声明key
(来自react),但没有声明eventKey
(来自react引导)
{pl.Name}
按上述方式编辑
菜单项
填充调用会在手柄中为您提供e1
->事件键和e2
->事件选择
您的gravatar在某种程度上有问题。您使用的是本机
?
handleSelect = (event) => {
const e1 = event.target.value // contains value of select
const e2 = event // contains event object
}
<MenuItem data={pl.Id} key={pl.Number} eventKey={pl.Number}>{pl.Name}</MenuItem>)}