web-dev-qa-db-ja.com

react-bootstrapのFormControlにデフォルト値を指定します

[email protected]では、Input属性defaultValueを使用して、コンボボックスで選択された開始値を指定しました

<Input type='select'
             ref='templateSelect'
             defaultValue={this.state.templateId}
             onChange={this.handleTemplateChange}>
   {options}
</Input>

これを[email protected](最新のもの)でどのように処理する必要がありますか。ここでInputは非推奨であり、ここで使用する必要がある新しいコンポーネントFormControlはそのような属性を提供しませんか?

代わりにvalueを使用する必要がありますか?

<FormControl type='select'
             ref='templateSelect'
             value={this.state.templateId}
             onChange={this.handleTemplateChange}>
   {options}
</FormControl>

または多分このようなもの:

value={this.state.templateId || 'default value'}
7
zmii

私はこれをテストしませんでしたが、React Bootstrap SourceControlのソースコード から、defaultValue propを使用すると機能するはずです:

_<FormControl type="select"
  ref="templateSelect"
  defaultValue={this.state.templateId}
  onChange={this.handleTemplateChange}>
   {options}
</FormControl>
_

複数選択のdefaultValueが配列でなければならない場合:

_this.state = {
  templateId:['some value']
}
<FormControl 
  multiple
  type="select"
  ref="templateSelect"
  defaultValue={this.state.templateId}
  onChange={this.handleTemplateChange}>
   {options}
</FormControl>
_
10
Yangshun Tay

"react-bootstrap": "1.0.0-beta.14"valueプロップが使用されます:

<Form.Control as="select" value={user}>
    { users.map(opt => (<option>{ opt }</option>)) }
</Form.Control>
0
Brent Washburne