【问题标题】:Sorting a Select List (A-Z) in React在 React 中对选择列表 (A-Z) 进行排序
【发布时间】:2019-12-10 22:29:31
【问题描述】:

很难弄清楚这一点,我如何在 React 中按字母顺序对这个选择列表进行排序?

<select
  ref="userInput"
  required
  className="form-control"
  value={this.state.make}
  onChange={this.onChangeMake}
>
  {this.state.makes.map(function(make) {
    return (
      <option key={make} value={make}>
        {make}
      </option>
    );
  })}
</select>

【问题讨论】:

  • 你可以试试this.state.makes.slice().sort().map(...)
  • @Tholle 该选项现在使用此代码按字母顺序显示this.state.makes.slice().sort().map(function(make) 谢谢:) value={this.state.make} 知道如何使值也按字母顺序显示吗?
  • @avidrunner 我不确定您所说的“使值也按字母顺序显示”是什么意思。是否要在组件状态中保存按字母顺序排序的选项字符串?
  • 措辞:“in React”是指“in JavaScript”。 React 是一个 UI 库;你没有在里面排序。

标签: javascript


【解决方案1】:

你可以简单地使用排序函数js

<select
ref="userInput"
required
className="form-control"
value={this.state.make}
onChange={this.onChangeMake}
>
{this.state.makes.sort().map(function(make) {
 return (
  <option key={make} value={make}>
    {make}
  </option>
);
})}
</select>

【讨论】:

  • 谢谢 :) 有什么方法可以让它处理以 Š 字符开头的单词吗?目前,它显示在列表的末尾而不是 R 和 T 之间。
  • stackoverflow.com/a/17118836/8731674 也许这会有所帮助
  • 很遗憾似乎没有用,仍在寻找解决方案
猜你喜欢
  • 1970-01-01
  • 2016-03-19
  • 1970-01-01
  • 1970-01-01
  • 2020-03-07
  • 2015-06-30
  • 2015-03-05
  • 1970-01-01
  • 2021-09-17
相关资源
最近更新 更多