2016-04-11 20 views
0

のリストから、指定された値に設定されているデフォルトでは、私はあなたがHTMLを選択:ないオプション

<select> 
    <option value="true">True</option> 
    <option value="false" selected >False</option> 
</select> 

はあなたが欲しいものを選択することが出来ることを実現します。

しかし、私の場合、私が反応使用しています、それは次のようになります。

<select> 
    {this.renderList()} 
</select> 

ので、私はオプションにアクセスすることはできません。 私が持っているのは、デフォルトとして欲しいオプションの価値です。 私はデフォルト値を表示し、ユーザーがそれを変更できるようにしようとしています。

この値を使用するにはattirbuteを使用し、それをデフォルトに設定する方法はありますか?

<select default={this.props.user.profile.item}> 
    {this.renderList()} 
</select> 

は限り属性が行くように、私は、プレースホルダ(効果なし)を試してみましたはdefaultValue(効果なし)、および値(表示されますが、変更することはできません):私が望む何

+0

試し '<選択値= {} this.props.user.profile.item>' – Lal

答えて

2

<select>タグのvalue属性を使用して、デフォルトオプションをドロップダウンリストに設定できます。それはあなたがまた、以下のようにデフォルト値を設定することができdocs

UPDATE

でそれについての詳細をお読みください

<select value={this.props.user.profile.item}> 
    {this.renderList()} 
</select> 

以下のようにそれを行うことができます、です。それを試してみてください詳細を読むための

<select defaultValue={this.props.user.profile.item}> 
    {this.renderList()} 
</select> 

チェックhere ..

+0

こんにちは、ラルは、私はすでに、そのようにやってみましたが、問題は私が別のオプションに変更することができないことです。このドロップダウンはchangeInfoセクションに属しています。既に設定されている情報を表示し、ユーザーが別のオプションに変更できるようにする必要があります。ありがとうございました。 – ys27

+0

@ ys27「制御されていない入力」をしたい場合は、「defaultValue」を使います。 – Aaron

+0

@ ys27私の更新された答えを確認してください.. – Lal

0

をあなたは値をデフォルトに選択し、DOM要素のcomponentDidMount()メソッドおよび変更値を使用することができます。

0

この解決策は問題の解決策として提供されていますが、リフレッシュ時にDOMを壊すことや、リフレッシュ時に正しく設定されないなどの問題があります。すべてがリフレッシュせずに完璧に機能します。

selectでは、valueとonChangeを使用します。

EX)

<select onChange={this.changeItem} value= 
       {this.props.user.profile.item} 
       ref="item"> 
    {this.renderItems()} 
</select> 

は別に、関数changeItem:

changeItem() { 
    this.setState({ 
     item: ReactDOM.findDOMNode(this.refs.item).value 
    }); 
} 
+0

私はそれを取得しません。このコードでは '