React Semantic-ui如何使用其他参数处理下拉onclick

时间:2019-05-29 08:33:04

标签: reactjs semantic-ui semantic-ui-react

我正在使用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 }),但似乎不起作用。我在做什么错或有任何建议?

1 个答案:

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