如何使用数组作为反应选择组件的选项

时间:2015-07-14 17:08:11

标签: select reactjs

如果我想替换选项

<option value="A">Apple</option>
<option value="B">Banana</option>

在给定示例中,通过在react jsx文件中使用数组,我将如何继续?

<select value="B">
    <option value="A">Apple</option>
    <option value="B">Banana</option>
</select>

最好的问候

蓝色

3 个答案:

答案 0 :(得分:27)

因为它只是javascript,所以有一百万种方式。我通常采用的方法是映射容器以生成内脏。 for循环或其他什么也可以正常工作。

var Answer = react.createClass({

    render: function() {

        var Data     = ['this', 'example', 'isnt', 'funny'],
            MakeItem = function(X) {
                return <option>{X}</option>;
            };


        return <select>{Data.map(MakeItem)}</select>;

    }

};

或者在更现代的反应中,你可以

var Answer = props => 
    <select>{props.data.map((x,y) => <option key={y}>{x}</option>)}</select>;

答案 1 :(得分:17)

您通常需要提供唯一密钥以确保React可以识别项目,您可以使用uuid来执行此操作或使用您手头的密钥,例如

  <Select name={field}>
    {FBButtons.map(fbb =>
      <option key={fbb.key} value={fbb.key}>{fbb.value}</option>
    )};
  </Select>

答案 2 :(得分:0)

您还可以将常量抽象到另一个文件中并导入。

import {myconstants} from "../constants";

{myconstants.map((x,y) => <option key={y}>{x}</option>)}