我正在渲染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>
)
}
我如何设置默认值?
答案 0 :(得分:1)
这是因为你正在使用价值。现在,您的代码每次呈现时都会强制选择变量标签的值。每个渲染您将该标签设置为您引入的最后一个选项。
您必须删除value = {label}
。
检查Forms | React以查看详细信息。