選択をオンにする代わりに、defaultValueまたはvalue propsを使用します。動的に生成されたオプションでSelectのdefaultValueに反応します。
<select defaultValue="react">
<option value="react">React</option>
<option value="angular">Angular</option>
</select>
defaultValueは上記のselectタグで動作します。しかし、ループで生成されたオプションではうまく動作しないようです。
<select defaultValue={selectedOptionId}>
{option_id.map(id =>
<option key={id} value={id}>{options[id].name}</option>
)}
</select>
defaultValueが宣言されていると、オプションが完全に設定されていない可能性がありますか?
componentDidUpdate()
とonChange
というイベントで手動で割り当てることができます。
しかし私の質問です - それを解決するクリーナー(良い)方法はありますか?
ありがとうございました。
回答ありがとうございます。 私の問題は、selectコンポーネントが最初に初期化されたときに、これらのオプション値が存在しなかったためです。 私のシナリオでは、最初にコンポーネントが選択された後、ユーザーが特定のリンクをクリックしたときにのみデータが取得されました。 [fiddle](https://jsfiddle.net/jhkcow8r/3/)を更新して自分のシナリオを紹介しました。 – Mingu