reactjs - React Semantic-ui如何处理带有附加参数的下拉onclick
问题描述
我正在使用反应语义 ui 下拉菜单,并希望在我的下拉菜单上处理 onclick 事件。考虑我有这个方法来处理
handleClick = (e, {value }) => this.setState({id: value })
然后我可以用这个打电话
<Dropdown
selection
options={myOptions}
placeholder='I change value on keyboard navigation'
onClick={this.handleClick} />
但在某些情况下我想用附加参数调用handleClick,我试过这个
<Dropdown
selection
options={myOptions}
placeholder='I change value on keyboard navigation'
onClick={this.handleClick.bind(this,idx)} />
并将我的处理程序更改为handleClick = (e, {value },idx) => this.setState({id: value })
但它似乎不起作用。我在做什么错或有什么建议?
解决方案
我认为这部分没有像这样执行
onClick={this.handleClick.bind(this,idx)}
应该改成这个
onClick={(idx) => this.handleClick.bind(this,idx)}
在 React 中,当我们必须在 click 上使用函数传递参数时,我们必须像上面一样添加箭头符号。如果此帮助对您不起作用,那么我认为您必须更改绑定然后以下代码将为您提供帮助
改成onClick={this.handleClick.bind(this,idx)}
这个
onClick={(e, e.target.value, idx) => this.handleClick(e, e.target.value, idx)}
也改变
handleClick = (e, {value },idx) => this.setState({id: value })
对此
handleClick = (e, value, idx) => this.setState({id: value })
推荐阅读
- python - Scikit Learn 中的分类朴素贝叶斯给出了 IndexError
- php - PHP password_hash 导致问题
- django - Django - 如何在视图的 GET 方法部分访问 POST 数据而不将数据保存在数据库中?
- tsql - 将文本时间转换为 DateTime 从时间中删除前导 0
- android - 有没有办法对齐 LazyColumn 底部的项目?
- windows - 根据 Windows 版本运行的批处理脚本
- python - 使用 Scikit-Learn 的 GridSearchCV 捕获所有排列的精度、召回率和 f1?
- c++ - 链接 C++ 程序时,是否可以用 C 标准库替换 C++ 标准库?
- cuda - 为什么这两个 GPU 内核有巨大的性能差异?
- search - solr geodist 查询限制