在react-bootstrap@0.24.5
中,我使用了Input
属性defaultValue
来指定组合框中选择的起始值
<Input type='select'
ref='templateSelect'
defaultValue={this.state.templateId}
onChange={this.handleTemplateChange}>
{options}
</Input>
在react-bootstrap@0.30.7
(最新版本)中,Input
被弃用,应该使用新组件FormControl
,但它不提供这样的属性,应该如何处理?
应该使用value
吗?
<FormControl type='select'
ref='templateSelect'
value={this.state.templateId}
onChange={this.handleTemplateChange}>
{options}
</FormControl>
或者可能是这样的:
value={this.state.templateId || 'default value'}
FormControl
的value
属性基本上对应于常规的input
的value
属性,因此像上面那样使用value
来设置默认值应该可以正常工作。我不建议使用value={this.state.templateId || 'default value'}
,因为如果您的更改处理程序将this.state.templateId
设置为解析为false
的某些内容,则输入字段中显示的值将是“默认值”。 - Nikolaj Dam Larsen