Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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
Reactjs onSelect返回第一个未定义的参数_Reactjs_Typescript - Fatal编程技术网

Reactjs onSelect返回第一个未定义的参数

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

我有一个带有eventhandler的下拉按钮:

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>)}