【问题标题】:react limit number of selection反应限制选择次数
【发布时间】:2017-08-13 13:14:21
【问题描述】:

我是 React 新手,需要帮助来限制下拉菜单中选定项目的数量。我的下拉菜单有超过 15 个选项,但我希望用户最多可以选择 5 个项目。 我发现了使用 JQuery 的不同方法,但我无法使用 React 实现它们。 感谢您的帮助!

编辑:我正在使用 Semantic UI 中的组件作为下拉菜单:

handleSelectTag = (event, data) => {
this.setState({ selectedTagsId: data.value })
}   

const tagOptions = this.state.existingTags.map(tag => {
  return {key: tag.id, text: tag.name, value: tag.id}
})

<Dropdown placeholder='Tags' fluid multiple selection options={tagOptions} onChange={this.handleSelectTag} />

【问题讨论】:

  • 你能链接实现你的下拉菜单的代码吗?
  • 我正在使用语义 UI 中的组件。刚刚用代码编辑了我的问题。

标签: reactjs drop-down-menu


【解决方案1】:

您应该能够在handleSelectTag() 方法上添加一个简单的条件来检查您选择了多少标签的长度。如果用户选择了太多,现在只需拨打alert(),或者在用户选择5后四处寻找您想要发生的行为。也许像下面这样开始......

// assuming this.state.selectedTagsId is an array
handleSelectTag = (event, data) => {
  if (this.state.selectedTagsId.length > 5) {
    alert('You may only select 5');
  }
  else {
    this.setState({ selectedTagsId: data.value }) 
  }
} 

【讨论】:

  • 感谢克里斯托弗!我现在将使用此解决方案
猜你喜欢
  • 2021-12-24
  • 1970-01-01
  • 2021-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-04
  • 2023-01-17
  • 1970-01-01
相关资源
最近更新 更多