选择列表默认值不起作用

时间:2016-07-08 15:14:01

标签: reactjs react-bootstrap

我正在渲染react-bootstrap选择列表。当我设置默认值时,我的列表不会默认值。我在调试时正确设置了该值,但该选项不会改变。

循环遍历options数组并创建每个选项:

render: function() {
    let options = [];
    let label = '';
    let selectedValue = 0;

    for (let i = 0; i < this.props.options.length; i = i + 1) {
        if(this.props.options[i].isDefault){
            selectedValue = this.props.options[i].id;
        }

        label = this.props.options[i].contactName;
        let option;
            option = <option key={i} value={parseInt(this.props.options[i].id)}>{label}</option>;
        options.push(option);
    }

    return (
        <Input type='select' value={label} defaultValue={parseInt(selectedValue)} ref='select' className='input-sm bottom-buffer' onChange={this.handleSelect}>
            {options}
        </Input>
    )
}

我如何设置默认值?

1 个答案:

答案 0 :(得分:1)

这是因为你正在使用价值。现在,您的代码每次呈现时都会强制选择变量标签的值。每个渲染您将该标签设置为您引入的最后一个选项。

您必须删除value = {label}

检查Forms | React以查看详细信息。