作成日: 2020/01/08 最終更新日: 2020/04/15
文書種別
不具合
状況
修正済み
詳細
Reactにて、コンボコントロールの初期化時に、state変数を介してアイテムを設定した場合、React.useEffectにてstate変数の値を動的に設定すると、コンボコントロールの初期値が設定されません。
問題は次のようなプロセスで発生します。
(1)コンボコントロールの itemsにstate変数でアイテムを設定します。
⇒ この時点では 空の配列が設定されます。
(2)コンボコントロールの selectedValueを設定します。
⇒ この時点では itemsが空なので selectedValue は設定されません。
(3)React.useEffectの処理で state変数にアイテムリストの値が設定されます。
(4)selectedValueはすでに処理済みなので、結果として初期値は設定されません。
問題は次のようなプロセスで発生します。
(1)コンボコントロールの itemsにstate変数でアイテムを設定します。
⇒ この時点では 空の配列が設定されます。
(2)コンボコントロールの selectedValueを設定します。
⇒ この時点では itemsが空なので selectedValue は設定されません。
(3)React.useEffectの処理で state変数にアイテムリストの値が設定されます。
(4)selectedValueはすでに処理済みなので、結果として初期値は設定されません。
回避方法
この問題は、InputManJS V2.3Jで修正されました。
修正版を適用しない場合の回避方法は次の通りです。
itemsChangedイベントを実装し、イベント内でsetSelectedValueメソッドで値を設定します。
修正版を適用しない場合の回避方法は次の通りです。
itemsChangedイベントを実装し、イベント内でsetSelectedValueメソッドで値を設定します。
旧文書番号
84825