我正在使用react语义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 })
,但似乎不起作用。我在做什么错或有任何建议?
答案 0 :(得分:0)
我认为这部分没有像这样执行
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 })